New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 823452 link

Starred by 4 users

Issue metadata

Status: Fixed
Merged: issue 822809
Owner:
Closed: Apr 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac
Pri: 2
Type: Bug-Regression

Blocking:
issue 803867



Sign in to add a comment

2.5%-22.5% regression in smoothness.tough_canvas_cases at 543253:543361

Project Member Reported by m...@chromium.org, Mar 19 2018

Issue description

See the link to graphs below.
 
Project Member

Comment 1 by 42576172...@developer.gserviceaccount.com, Mar 19 2018

All graphs for this bug:
  https://chromeperf.appspot.com/group_report?bug_id=823452

(For debugging:) Original alerts at time of bug-filing:
  https://chromeperf.appspot.com/group_report?sid=f246c082da79f081a30f8b69e120702a372c3c001db77e9da0e8640823471ace


Bot(s) for this bug's original alert(s):

android-one
chromium-rel-mac11-air
chromium-rel-mac11-pro
chromium-rel-mac12
Project Member

Comment 3 by 42576172...@developer.gserviceaccount.com, Mar 19 2018

Cc: chrishtr@chromium.org wangxianzhu@chromium.org piman@chromium.org
Owner: wangxianzhu@chromium.org
Status: Assigned (was: Untriaged)
📍 Found a significant difference after 1 commit.
https://pinpoint-dot-chromeperf.appspot.com/job/11fbe9b9440000

Reland "[SPv175] Enable SlimmingPaintV175 by default" by wangxianzhu@chromium.org
https://chromium.googlesource.com/chromium/src/+/3a3c78a924a686ed0d3f90d765b00cdd78453e11

Understanding performance regressions:
  http://g.co/ChromePerformanceRegressions
Blocking: 803867
Components: Blink>Paint
Mergedinto: 822809
Status: Duplicate (was: Assigned)
Project Member

Comment 7 by 42576172...@developer.gserviceaccount.com, Mar 25 2018

Status: Assigned (was: Duplicate)
📍 Found a significant difference after 1 commit.
https://pinpoint-dot-chromeperf.appspot.com/job/14ad39e3440000

Reland "[SPv175] Enable SlimmingPaintV175 by default" by wangxianzhu@chromium.org
https://chromium.googlesource.com/chromium/src/+/3a3c78a924a686ed0d3f90d765b00cdd78453e11

Understanding performance regressions:
  http://g.co/ChromePerformanceRegressions
 Issue 825648  has been merged into this issue.
 Issue 822809  has been merged into this issue.
Cc: -m...@chromium.org -piman@chromium.org pdr@chromium.org trchen@chromium.org
The reason of the regression seems that SPv175 emit more operations for an SVG image:

SPv1:
 Save
   ClipRect
   Draw background
   Save
     Concat
     Draw SVG contents
   Restore
 Restore

SPv175:
 Save
   Concat
   Draw background
   Save
     ClipRect
     Save
       Concat
       ClipRect
       Save
         Concat
         Draw SVG contents
       Restore
     Restore
   Restore
 Restore

1. The extra Concat operations are for some identity transforms (e.g. zero paint offset);
2. The ClipRect operations are for the viewport and the document level SVG root. They are not combined because of the clips have different localTransformSpace due to zero PaintOffsetTranslations.

I tried to eliminate zero PaintOffsetTranslations (https://chromium-review.googlesource.com/c/chromium/src/+/999117), but am afraid that change of its existence causing full subtree paint property updates.

I'm still investigating, while any ideas are welcome.
Project Member

Comment 11 by bugdroid1@chromium.org, Apr 20 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a016ca5071c9d0a3848a2c55fd0e13339d27d994

commit a016ca5071c9d0a3848a2c55fd0e13339d27d994
Author: Xianzhu Wang <wangxianzhu@chromium.org>
Date: Fri Apr 20 23:04:39 2018

[SPv175+] Don't create transform operations for identity transforms

This avoids many extra Save/Transform(identity)/../Restore,
Save/../Restore without transform. Also simplifies
Save/ClipRect/Transform(identity)/Save/ClipRect/Transform/../Restore/Restore
to Save/ClipRect(combined)/Transform/../Restore.

This especially fixes the performance regression of perf tests containing
svg images.

https://pinpoint-dot-chromeperf.appspot.com/results2/16c651cec40000
shows 18% improvement of frame_time of
tough_canvas_cases/rendering_throughput/bouncing_svg_images.html.

Bug:  823452 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I4576646cbe9c59bc8a7f56b67ef59f2ad57f159d
Reviewed-on: https://chromium-review.googlesource.com/1020152
Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
Reviewed-by: Philip Rogers <pdr@chromium.org>
Reviewed-by: Tien-Ren Chen <trchen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#552511}
[modify] https://crrev.com/a016ca5071c9d0a3848a2c55fd0e13339d27d994/third_party/WebKit/LayoutTests/paint/invalidation/scroll/scroll-with-transformed-parent-layer-expected.png
[modify] https://crrev.com/a016ca5071c9d0a3848a2c55fd0e13339d27d994/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-inner-bleed-expected.png
[modify] https://crrev.com/a016ca5071c9d0a3848a2c55fd0e13339d27d994/third_party/WebKit/LayoutTests/platform/mac/fast/borders/border-inner-bleed-expected.png
[modify] https://crrev.com/a016ca5071c9d0a3848a2c55fd0e13339d27d994/third_party/WebKit/LayoutTests/platform/win/fast/borders/border-inner-bleed-expected.png
[modify] https://crrev.com/a016ca5071c9d0a3848a2c55fd0e13339d27d994/third_party/blink/renderer/platform/graphics/compositing/paint_chunks_to_cc_layer.cc
[modify] https://crrev.com/a016ca5071c9d0a3848a2c55fd0e13339d27d994/third_party/blink/renderer/platform/graphics/compositing/paint_chunks_to_cc_layer_test.cc

Labels: Merge-Request-67
Labels: OS-Android OS-Chrome OS-Linux OS-Mac OS-Windows
Project Member

Comment 14 by sheriffbot@chromium.org, Apr 22 2018

Labels: -Merge-Request-67 Merge-Approved-67 Hotlist-Merge-Approved
Your change meets the bar and is auto-approved for M67. Please go ahead and merge the CL to branch 3396 manually. Please contact milestone owner if you have questions.
Owners: cmasso@(Android), cmasso@(iOS), kbleicher@(ChromeOS), govind@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Project Member

Comment 15 by bugdroid1@chromium.org, Apr 23 2018

Labels: -merge-approved-67 merge-merged-3396
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7a924236ea7e8a36b17c82ec89ea7f0a82ee38f5

commit 7a924236ea7e8a36b17c82ec89ea7f0a82ee38f5
Author: Xianzhu Wang <wangxianzhu@chromium.org>
Date: Mon Apr 23 00:53:48 2018

[SPv175+] Don't create transform operations for identity transforms

This avoids many extra Save/Transform(identity)/../Restore,
Save/../Restore without transform. Also simplifies
Save/ClipRect/Transform(identity)/Save/ClipRect/Transform/../Restore/Restore
to Save/ClipRect(combined)/Transform/../Restore.

This especially fixes the performance regression of perf tests containing
svg images.

https://pinpoint-dot-chromeperf.appspot.com/results2/16c651cec40000
shows 18% improvement of frame_time of
tough_canvas_cases/rendering_throughput/bouncing_svg_images.html.

TBR=wangxianzhu@chromium.org

(cherry picked from commit a016ca5071c9d0a3848a2c55fd0e13339d27d994)

Bug:  823452 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I4576646cbe9c59bc8a7f56b67ef59f2ad57f159d
Reviewed-on: https://chromium-review.googlesource.com/1020152
Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
Reviewed-by: Philip Rogers <pdr@chromium.org>
Reviewed-by: Tien-Ren Chen <trchen@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#552511}
Reviewed-on: https://chromium-review.googlesource.com/1023607
Reviewed-by: Xianzhu Wang <wangxianzhu@chromium.org>
Cr-Commit-Position: refs/branch-heads/3396@{#200}
Cr-Branched-From: 9ef2aa869bc7bc0c089e255d698cca6e47d6b038-refs/heads/master@{#550428}
[modify] https://crrev.com/7a924236ea7e8a36b17c82ec89ea7f0a82ee38f5/third_party/WebKit/LayoutTests/paint/invalidation/scroll/scroll-with-transformed-parent-layer-expected.png
[modify] https://crrev.com/7a924236ea7e8a36b17c82ec89ea7f0a82ee38f5/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-inner-bleed-expected.png
[modify] https://crrev.com/7a924236ea7e8a36b17c82ec89ea7f0a82ee38f5/third_party/WebKit/LayoutTests/platform/mac/fast/borders/border-inner-bleed-expected.png
[modify] https://crrev.com/7a924236ea7e8a36b17c82ec89ea7f0a82ee38f5/third_party/WebKit/LayoutTests/platform/win/fast/borders/border-inner-bleed-expected.png
[modify] https://crrev.com/7a924236ea7e8a36b17c82ec89ea7f0a82ee38f5/third_party/blink/renderer/platform/graphics/compositing/paint_chunks_to_cc_layer.cc
[modify] https://crrev.com/7a924236ea7e8a36b17c82ec89ea7f0a82ee38f5/third_party/blink/renderer/platform/graphics/compositing/paint_chunks_to_cc_layer_test.cc

Status: Fixed (was: Assigned)

Sign in to add a comment