Issue metadata
Sign in to add a comment
|
36.7%-39.3% regression in smoothness.tough_canvas_cases at 500168:500215 |
||||||||||||||||||||
Issue descriptionSee the link to graphs below.
,
Sep 8 2017
Started bisect job https://chromeperf.appspot.com/buildbucket_job_status/8969026138275623920
,
Sep 8 2017
=== Auto-CCing suspected CL author zheda.chen@intel.com === Hi zheda.chen@intel.com, the bisect results pointed to your CL, please take a look at the results. === BISECT JOB RESULTS === Perf regression found with culprit Suspected Commit Author : Zheda Chen Commit : 580652faa4a52b2c418e99c4cca1241d140361c3 Date : Thu Sep 07 01:56:23 2017 Subject: Increase kExpensiveOverdrawThreshold Bisect Details Configuration: android_nexus7_perf_bisect Benchmark : smoothness.gpu_rasterization.tough_path_rendering_cases Metric : frame_times/GUIMark Vector Chart Test Change : 40.56% | 23.94882855 -> 33.6627163 Revision Result N chromium@500167 23.9488 +- 0.667648 6 good chromium@500179 24.1546 +- 0.875447 6 good chromium@500181 24.2488 +- 0.804909 6 good chromium@500182 33.6019 +- 1.9874 6 bad <-- chromium@500185 33.6926 +- 0.380808 5 bad chromium@500191 33.7017 +- 1.77225 6 bad chromium@500215 33.6627 +- 1.50845 6 bad To Run This Test src/tools/perf/run_benchmark -v --browser=android-chromium --output-format=chartjson --upload-results --pageset-repeat=1 --also-run-disabled-tests --story-filter=GUIMark.Vector.Chart.Test smoothness.gpu_rasterization.tough_path_rendering_cases More information on addressing performance regressions: http://g.co/ChromePerformanceRegressions Debug information about this bisect: https://chromeperf.appspot.com/buildbucket_job_status/8969026138275623920 For feedback, file a bug with component Speed>Bisection
,
Sep 12 2017
I can reproduce this regression on Nexus7 device. It seems that deferral rendering mode performance is worse in this unique case. Will look into the issue further to find root cause.
,
Sep 12 2017
Started bisect job https://chromeperf.appspot.com/buildbucket_job_status/8968650167923655712
,
Sep 12 2017
=== BISECT JOB RESULTS === Perf regression found with culprit Suspected Commit Author : Zheda Chen Commit : 580652faa4a52b2c418e99c4cca1241d140361c3 Date : Thu Sep 07 01:56:23 2017 Subject: Increase kExpensiveOverdrawThreshold Bisect Details Configuration: android_nexus7_perf_bisect Benchmark : smoothness.tough_canvas_cases Metric : frame_times/http___www.craftymind.com_factory_guimark2_HTML5ChartingTest.html Change : 33.96% | 23.140598585 -> 30.9997626209 Revision Result N chromium@500167 23.1406 +- 0.74746 6 good chromium@500179 23.3803 +- 0.549841 6 good chromium@500181 23.1287 +- 0.809182 6 good chromium@500182 31.2361 +- 1.17685 6 bad <-- chromium@500185 30.4751 +- 1.7501 6 bad chromium@500191 31.6298 +- 2.00059 6 bad chromium@500215 30.9998 +- 0.918967 6 bad To Run This Test src/tools/perf/run_benchmark -v --browser=android-chromium --output-format=chartjson --upload-results --pageset-repeat=1 --also-run-disabled-tests --story-filter=http...www.craftymind.com.factory.guimark2.HTML5ChartingTest.html smoothness.tough_canvas_cases More information on addressing performance regressions: http://g.co/ChromePerformanceRegressions Debug information about this bisect: https://chromeperf.appspot.com/buildbucket_job_status/8968650167923655712 For feedback, file a bug with component Speed>Bisection
,
Sep 14 2017
Root cause of the regression is identified, it's because that the case uses the deprecated frame animation method-----setInterval. After the patch to increase kExpensiveOverdrawThreshold, the case stays in deferral rendering mode. Sometimes it records double pixels (actually pixels of two frames) and draws together in one frame, which makes the frame much longer, thus causes slow animation (see Fig 2). It's caused by deprecated frame animation method. When i modify the case to use requestAnimationFrame(RAF) instead, don't see any performance regression w/ the patch. (see Fig 3) Thus we recommend to modify the case to use requestAnimationFrame to solve the problem.
,
Sep 15 2017
@junov, could u please take a look at the issue, trace and my analysis? Thanks!
,
Sep 16 2017
Thanks for the analysis. I agree with your conclusion. I think the right solution is to fix the test to make it use RAF. We do not want to optimize Chrome for deprecated usage patterns.
,
Sep 18 2017
Thanks Justin. The test case is from GUIMark 2 benchmark (2010), do u know any owner of the smoothness.tough_canvas_cases who can update the test case in telemetry ?
,
Sep 20 2017
The issue only occurs on web pages with deprecated usage pattern, won't fix it in Chrome. Instead, modify the test case (guimark2--HTML5ChartingTest.html) to use requestAnimationFrame(RAF). Probably it can proceed in a new bug issue.
,
Sep 20 2017
Re-assigning to junov, test owner, to see if changing the test case is the right next action, as in #12.
,
Nov 1 2017
,
Jan 11 2018
junov: can you take a look at whether this test case should be updated or removed?
,
Jan 29 2018
Not sure. We need to think about how we want to modernize canvas performance testing in general, then see how this test fits in the new paradigm. Let's keep this open at least until the canvas team launches its next performance testing overhaul/review.
,
Feb 5 2018
,
Jul 25
,
Jul 25
|
|||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||
Comment 1 by 42576172...@developer.gserviceaccount.com
, Sep 8 2017