Issue metadata
Sign in to add a comment
|
16.9%-54.3% regression in rasterize_and_record_micro.top_25 at 508328:508364 |
||||||||||||||||||||||
Issue descriptionSee the link to graphs below.
,
Oct 13 2017
Started bisect job https://chromeperf.appspot.com/buildbucket_job_status/8965831430179317952
,
Oct 13 2017
=== Auto-CCing suspected CL author schenney@chromium.org === Hi schenney@chromium.org, 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 : Stephen Chenney Commit : 8ff2371257ac4f24d77da4a62569840a53c49b47 Date : Thu Oct 12 13:11:52 2017 Subject: Prevent squashing of border-radius layers Bisect Details Configuration: android_webview_nexus6_aosp_perf_bisect Benchmark : rasterize_and_record_micro.top_25 Metric : record_time/file___static_top_25_yahoogames.html Change : 49.27% | 0.592333333333 -> 0.884166666667 Revision Result N chromium@508327 0.592333 +- 0.00658281 6 good chromium@508328 0.587 +- 0.00979796 6 good chromium@508329 0.901167 +- 0.0162121 6 bad <-- chromium@508330 0.896167 +- 0.0166383 6 bad chromium@508332 0.900833 +- 0.0165781 6 bad chromium@508337 0.898167 +- 0.0148605 6 bad chromium@508346 0.906 +- 0.004 6 bad chromium@508364 0.884167 +- 0.0121175 6 bad To Run This Test src/tools/perf/run_benchmark -v --browser=android-webview --output-format=chartjson --upload-results --pageset-repeat=1 --also-run-disabled-tests --story-filter=file...static.top.25.yahoogames.html rasterize_and_record_micro.top_25 More information on addressing performance regressions: http://g.co/ChromePerformanceRegressions Debug information about this bisect: https://chromeperf.appspot.com/buildbucket_job_status/8965831430179317952 For feedback, file a bug with component Speed>Bisection
,
Oct 13 2017
It is not unexpected to see rendering speed regressions on sites that are impacted by this bug fix. But it is the case that previously we were doing the wrong thing and now we are showing the right thing. When I get a chance I will look at the page set and determine what if anything can be done to improve the situation. But I am not hopeful.
,
Oct 13 2017
,
Oct 13 2017
Issue 774554 has been merged into this issue.
,
Oct 14 2017
Issue 774558 has been merged into this issue.
,
Oct 18 2017
,
Oct 19 2017
Issue 776371 has been merged into this issue.
,
Oct 20 2017
,
Oct 20 2017
Issue 776393 has been merged into this issue.
,
Oct 20 2017
Issue 776738 has been merged into this issue.
,
Oct 25 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2faf4aa8f809aee54bd228d0fb375bbd67b4d2be commit 2faf4aa8f809aee54bd228d0fb375bbd67b4d2be Author: Stephen Chenney <schenney@chromium.org> Date: Wed Oct 25 18:58:49 2017 Tighten the restriction on squashing for border radius The fix for https://bugs.chromium.org/p/chromium/issues/detail?id=761298 prevents sqaushing of anything that has a border radius, but in reality we only need to prevent squashing when the layer actually clips a child composited layer. The composited part is not known at the time we compute squashing disallowed reasons, so we can't use that. But we can make sure that overflow does clip. R=chrishtr@chromium.org BUG= 776736 , 774544 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Change-Id: I0ec1b8d8e2c0ebfef5004f313d49ae41f14e647e Reviewed-on: https://chromium-review.googlesource.com/734140 Commit-Queue: Stephen Chenney <schenney@chromium.org> Reviewed-by: Chris Harrelson <chrishtr@chromium.org> Cr-Commit-Position: refs/heads/master@{#511540} [modify] https://crrev.com/2faf4aa8f809aee54bd228d0fb375bbd67b4d2be/third_party/WebKit/Source/core/paint/compositing/CompositingLayerAssigner.cpp
,
Nov 3 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c24e45d72fd1003e4b49341650d9c40b709752c2 commit c24e45d72fd1003e4b49341650d9c40b709752c2 Author: Stephen Chenney <schenney@chromium.org> Date: Fri Nov 03 19:25:48 2017 Use sibling HasInlineTransform to enable more squashing Traverse previous siblings of a layer looking for inline transforms as a way to enable more squashing when border radius is present. This targets the squashing restriction at the specific case that generated the original bug, and does not cause issues in other tests (that is, next siblings do not cause the original bug and only inline transforms cause the original bug). Telemetry tests on MacOS show a 3% or more improvement on time to first paint for load tests. TBR=chrishtr@chromium.org Bug: 776736 , 774544 , 780244 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Change-Id: I1f9973e5c52d40a47c05dd2d8310bb66de3e0dfa Reviewed-on: https://chromium-review.googlesource.com/743694 Commit-Queue: Stephen Chenney <schenney@chromium.org> Reviewed-by: Philip Rogers <pdr@chromium.org> Cr-Commit-Position: refs/heads/master@{#513869} [modify] https://crrev.com/c24e45d72fd1003e4b49341650d9c40b709752c2/third_party/WebKit/Source/core/paint/PaintLayer.cpp [modify] https://crrev.com/c24e45d72fd1003e4b49341650d9c40b709752c2/third_party/WebKit/Source/core/paint/PaintLayer.h [modify] https://crrev.com/c24e45d72fd1003e4b49341650d9c40b709752c2/third_party/WebKit/Source/core/paint/compositing/CompositingLayerAssigner.cpp [modify] https://crrev.com/c24e45d72fd1003e4b49341650d9c40b709752c2/third_party/WebKit/Source/core/paint/compositing/CompositingRequirementsUpdater.cpp
,
Nov 15 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/90bb5240fe42935776901f33bc7c515e8c24da1c commit 90bb5240fe42935776901f33bc7c515e8c24da1c Author: Stephen Chenney <schenney@chromium.org> Date: Wed Nov 15 06:17:32 2017 Revert "Use sibling HasInlineTransform to enable more squashing" This reverts commit c24e45d72fd1003e4b49341650d9c40b709752c2. Reason for revert: This does not fix all cases. The plan is to revert all the patches trying to fix the underlying border radius and squashing issue and fix it correctly. Original change's description: > Use sibling HasInlineTransform to enable more squashing > > Traverse previous siblings of a layer looking for inline transforms > as a way to enable more squashing when border radius is present. > This targets the squashing restriction at the specific case that > generated the original bug, and does not cause issues in other > tests (that is, next siblings do not cause the original bug and > only inline transforms cause the original bug). > > Telemetry tests on MacOS show a 3% or more improvement on time > to first paint for load tests. > > TBR=chrishtr@chromium.org > > Bug: 776736 , 774544 , 780244 > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 > Change-Id: I1f9973e5c52d40a47c05dd2d8310bb66de3e0dfa > Reviewed-on: https://chromium-review.googlesource.com/743694 > Commit-Queue: Stephen Chenney <schenney@chromium.org> > Reviewed-by: Philip Rogers <pdr@chromium.org> > Cr-Commit-Position: refs/heads/master@{#513869} TBR=pdr@chromium.org,chrishtr@chromium.org,schenney@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: 776736 , 774544 , 780244 Change-Id: I3e620a3c12c0f383bb3f57189afb8e3f05e9f960 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Reviewed-on: https://chromium-review.googlesource.com/770230 Reviewed-by: Stephen Chenney <schenney@chromium.org> Commit-Queue: Chris Harrelson <chrishtr@chromium.org> Cr-Commit-Position: refs/heads/master@{#516598} [modify] https://crrev.com/90bb5240fe42935776901f33bc7c515e8c24da1c/third_party/WebKit/Source/core/paint/PaintLayer.cpp [modify] https://crrev.com/90bb5240fe42935776901f33bc7c515e8c24da1c/third_party/WebKit/Source/core/paint/PaintLayer.h [modify] https://crrev.com/90bb5240fe42935776901f33bc7c515e8c24da1c/third_party/WebKit/Source/core/paint/compositing/CompositingLayerAssigner.cpp [modify] https://crrev.com/90bb5240fe42935776901f33bc7c515e8c24da1c/third_party/WebKit/Source/core/paint/compositing/CompositingRequirementsUpdater.cpp
,
Nov 15 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/152e7cf991c83b8ebac89db3f67cfe80511d47e5 commit 152e7cf991c83b8ebac89db3f67cfe80511d47e5 Author: Stephen Chenney <schenney@chromium.org> Date: Wed Nov 15 18:58:04 2017 Revert "Tighten the restriction on squashing for border radius" This reverts commit 2faf4aa8f809aee54bd228d0fb375bbd67b4d2be. Reason for revert: <INSERT REASONING HERE> Original change's description: > Tighten the restriction on squashing for border radius > > The fix for https://bugs.chromium.org/p/chromium/issues/detail?id=761298 > prevents sqaushing of anything that has a border radius, but in reality > we only need to prevent squashing when the layer actually clips a > child composited layer. The composited part is not known at the > time we compute squashing disallowed reasons, so we can't use that. But > we can make sure that overflow does clip. > > R=chrishtr@chromium.org > BUG= 776736 , 774544 > > Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 > Change-Id: I0ec1b8d8e2c0ebfef5004f313d49ae41f14e647e > Reviewed-on: https://chromium-review.googlesource.com/734140 > Commit-Queue: Stephen Chenney <schenney@chromium.org> > Reviewed-by: Chris Harrelson <chrishtr@chromium.org> > Cr-Commit-Position: refs/heads/master@{#511540} TBR=chrishtr@chromium.org,schenney@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: 776736 , 774544 Change-Id: I9092431dd162191b5ee92f64efb45aba164c382e Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Reviewed-on: https://chromium-review.googlesource.com/771990 Reviewed-by: Stephen Chenney <schenney@chromium.org> Commit-Queue: Stephen Chenney <schenney@chromium.org> Cr-Commit-Position: refs/heads/master@{#516768} [modify] https://crrev.com/152e7cf991c83b8ebac89db3f67cfe80511d47e5/third_party/WebKit/Source/core/paint/compositing/CompositingLayerAssigner.cpp
,
Jan 12 2018
schenney: thanks for all the hard work on these regressions! I took a look at the graphs, and everything that bisected to your CL has recovered with one of the CLs landed except the smoothness metrics are a bit noisy to tell. Original report here: https://bugs.chromium.org/p/chromium/issues/detail?id=776739#c3 (use the debug graph link since the alerts were duped to this one: https://chromeperf.appspot.com/group_report?sid=4f74a5185a15cb2ed32b762b92241f6ee3b05888008ccb0b966d8c799c14dd49) Do you think we can mark this fixed?
,
Jan 16 2018
I think we can mark it fixed. The code was reverted and a new fix applied that would not show the same big perf hit. My intepretation of the graphs is that there has been a slight growth in the metric while my change was in, so when my change was reverted there was a residual perf change. |
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by 42576172...@developer.gserviceaccount.com
, Oct 13 2017