[perf_skottiewasm_lottieweb] Add flag for use_gpu
If flag is true then run with headless=false and:
* --ignore-gpu-blacklist
* --enable-gpu-rasterization
NoTry: true
Bug: skia:9237
Change-Id: I8c3c40ee34fe3d3e92b41185c30afb91459a3f5e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/227060
Reviewed-by: Florin Malita <fmalita@chromium.org>
Commit-Queue: Ravi Mistry <rmistry@google.com>
diff --git a/tools/lottie-web-perf/lottie-web-perf.js b/tools/lottie-web-perf/lottie-web-perf.js
index cfe1591..2981165 100644
--- a/tools/lottie-web-perf/lottie-web-perf.js
+++ b/tools/lottie-web-perf/lottie-web-perf.js
@@ -22,6 +22,11 @@
description: 'The perf file to write. Defaults to perf.json',
},
{
+ name: 'use_gpu',
+ description: 'Whether we should run in non-headless mode with GPU.',
+ type: Boolean,
+ },
+ {
name: 'port',
description: 'The port number to use, defaults to 8081.',
type: Number,
@@ -104,15 +109,19 @@
console.log('- Launching chrome for ' + options.input);
let browser;
let page;
+ const headless = !options.use_gpu;
+ let browser_args = [
+ '--no-sandbox',
+ '--disable-setuid-sandbox',
+ '--window-size=' + viewPort.width + ',' + viewPort.height,
+ ];
+ if (options.use_gpu) {
+ browser_args.push('--ignore-gpu-blacklist');
+ browser_args.push('--enable-gpu-rasterization');
+ }
+ console.log("Running with headless: " + headless + " args: " + browser_args);
try {
- browser = await puppeteer.launch({
- headless: true,
- args: [
- '--no-sandbox',
- '--disable-setuid-sandbox',
- '--window-size=' + viewPort.width + ',' + viewPort.height
- ]
- });
+ browser = await puppeteer.launch({headless: headless, args: browser_args});
page = await browser.newPage();
await page.setViewport(viewPort);
} catch (e) {
diff --git a/tools/skottie-wasm-perf/skottie-wasm-perf.js b/tools/skottie-wasm-perf/skottie-wasm-perf.js
index 8db7aaa..d7ca2be 100644
--- a/tools/skottie-wasm-perf/skottie-wasm-perf.js
+++ b/tools/skottie-wasm-perf/skottie-wasm-perf.js
@@ -32,6 +32,11 @@
description: 'The perf file to write. Defaults to perf.json',
},
{
+ name: 'use_gpu',
+ description: 'Whether we should run in non-headless mode with GPU.',
+ type: Boolean,
+ },
+ {
name: 'port',
description: 'The port number to use, defaults to 8081.',
type: Number,
@@ -118,15 +123,19 @@
console.log('- Launching chrome for ' + options.input);
let browser;
let page;
+ const headless = !options.use_gpu;
+ let browser_args = [
+ '--no-sandbox',
+ '--disable-setuid-sandbox',
+ '--window-size=' + viewPort.width + ',' + viewPort.height,
+ ];
+ if (options.use_gpu) {
+ browser_args.push('--ignore-gpu-blacklist');
+ browser_args.push('--enable-gpu-rasterization');
+ }
+ console.log("Running with headless: " + headless + " args: " + browser_args);
try {
- browser = await puppeteer.launch({
- headless: true,
- args: [
- '--no-sandbox',
- '--disable-setuid-sandbox',
- '--window-size=' + viewPort.width + ',' + viewPort.height
- ]
- });
+ browser = await puppeteer.launch({headless: headless, args: browser_args});
page = await browser.newPage();
await page.setViewport(viewPort);
} catch (e) {