New issue
Advanced search Search tips

Issue 841227 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: May 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug-Regression



Sign in to add a comment

Regression of rasterize_time and record_time at r556614

Project Member Reported by primiano@google.com, May 9 2018

Issue description

See the link to graphs below.
 
All graphs for this bug:
  https://chromeperf.appspot.com/group_report?bug_id=841227

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


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

android-nexus5
android-nexus5X
android-one
chromium-rel-mac11-pro
chromium-rel-win7-dual
chromium-rel-win7-gpu-intel
chromium-rel-win7-gpu-nvidia
win-high-dpi
Cc: pdr@chromium.org wangxianzhu@chromium.org
Owner: wangxianzhu@chromium.org
Status: Assigned (was: Untriaged)
📍 Found a significant difference after 1 commit.
https://pinpoint-dot-chromeperf.appspot.com/job/12ae5b0fc40000

[SPv175+] Revert "Don't output OverflowClip if InnerBorderRadiusClip already has the same rect" by wangxianzhu@chromium.org
https://chromium.googlesource.com/chromium/src/+/8f50572b9c4d946b67178cc66bed5ac481084469

Understanding performance regressions:
  http://g.co/ChromePerformanceRegressions
There seem regressions of different ranges combined together. Separating into different bugs.
Components: Blink>Paint
Summary: Regression of rasterize_time and record_time at r556614 (was: 4.2%-39.7% regression in blink_perf.canvas at 555165:556656)
record_time is basically the time for PaintChunksToCcLayer which is relatively small in the whole frame time in real word scenarios, so a small regression of it is acceptable for simpler code after the CL.

Rasterize_time will affect real world performance more, and we can fix it by combining clips with border radius and rectangular clips.
📍 Job complete. See results below.
https://pinpoint-dot-chromeperf.appspot.com/job/12b89797c40000
Project Member

Comment 8 by bugdroid1@chromium.org, May 10 2018

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

commit 7f6fc0f6b0d391350bf6c6745514ec452873f081
Author: Xianzhu Wang <wangxianzhu@chromium.org>
Date: Thu May 10 17:55:14 2018

[SPv175+] Combine clips in more cases

For consecutive clips in the same transform space, we combine the clips
in following more cases:
1. A rectangular clip and a rounded clip can bombine if the rectangular
   clip contains the rounded clip;
2. A clip path clip can combine with previous clips (but not following
   clips) if other combination conditions are satisfied.

Also no longer issue a pair of ClipRectOp and ClipRRectOp for one
rounded clip rect. It was needed when we didn't antialias clip rects.

Bug:  841227 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I2daf83ede63e3d6f65bd3eb5f89d8d1ca52cd440
Reviewed-on: https://chromium-review.googlesource.com/1052859
Commit-Queue: Xianzhu Wang <wangxianzhu@chromium.org>
Reviewed-by: Philip Rogers <pdr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#557578}
[modify] https://crrev.com/7f6fc0f6b0d391350bf6c6745514ec452873f081/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-inner-bleed-expected.png
[delete] https://crrev.com/0fe1faa1ce879d83359a2343cbef69e7bc35b096/third_party/WebKit/LayoutTests/platform/linux/fast/borders/border-inner-bleed-expected.txt
[modify] https://crrev.com/7f6fc0f6b0d391350bf6c6745514ec452873f081/third_party/WebKit/LayoutTests/platform/mac/compositing/overflow/mask-with-filter-expected.png
[modify] https://crrev.com/7f6fc0f6b0d391350bf6c6745514ec452873f081/third_party/WebKit/LayoutTests/platform/mac/fast/borders/border-inner-bleed-expected.png
[delete] https://crrev.com/0fe1faa1ce879d83359a2343cbef69e7bc35b096/third_party/WebKit/LayoutTests/platform/mac/fast/borders/border-inner-bleed-expected.txt
[modify] https://crrev.com/7f6fc0f6b0d391350bf6c6745514ec452873f081/third_party/WebKit/LayoutTests/platform/win/compositing/overflow/mask-with-filter-expected.png
[modify] https://crrev.com/7f6fc0f6b0d391350bf6c6745514ec452873f081/third_party/WebKit/LayoutTests/platform/win/fast/borders/border-inner-bleed-expected.png
[delete] https://crrev.com/0fe1faa1ce879d83359a2343cbef69e7bc35b096/third_party/WebKit/LayoutTests/platform/win/fast/borders/border-inner-bleed-expected.txt
[modify] https://crrev.com/7f6fc0f6b0d391350bf6c6745514ec452873f081/third_party/blink/renderer/platform/graphics/compositing/paint_chunks_to_cc_layer.cc
[modify] https://crrev.com/7f6fc0f6b0d391350bf6c6745514ec452873f081/third_party/blink/renderer/platform/graphics/compositing/paint_chunks_to_cc_layer_test.cc

Status: Fixed (was: Assigned)
All graphs restored, including record_time. I think the record_time regression was because of more operations for pushing and popping clip states, which is reduced by #c8 CL.

We even have slight progression for rasterzie_time because of removal of extra ClipRectOps before CLipRRectOps.

Sign in to add a comment