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

18.2%-46.7% regression in blink_perf.events at 548841:549033

Project Member Reported by primiano@chromium.org, Apr 9 2018

Issue description

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

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


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

android-nexus5
android-nexus6
android-nexus7v2
android-one
chromium-rel-mac11-pro
chromium-rel-mac12
chromium-rel-win10
chromium-rel-win7-dual
chromium-rel-win7-gpu-ati
chromium-rel-win7-gpu-intel
chromium-rel-win7-gpu-nvidia
chromium-rel-win7-x64-dual
chromium-rel-win8-dual
linux-release
Project Member

Comment 3 by 42576172...@developer.gserviceaccount.com, Apr 13 2018

Cc: chrishtr@chromium.org ymalik@chromium.org rsleevi@chromium.org bokan@chromium.org apaci...@chromium.org klausw@chromium.org dalecur...@chromium.org pdr@chromium.org bshe@chromium.org mmenke@chromium.org
Owner: rsleevi@chromium.org
Status: Assigned (was: Untriaged)
📍 Found significant differences after each of 6 commits.
https://pinpoint-dot-chromeperf.appspot.com/job/137033e8c40000

Fix nullptr crash in UpdateSubFrameScrollOnMainReason by bokan@chromium.org
https://chromium.googlesource.com/chromium/src/+/e9b22fae0b577b224dc99e33ad573afe84a2ad97

<b>Fix frame lifecycle for UI<->WebVR handoff</b> by klausw@chromium.org
https://chromium.googlesource.com/chromium/src/+/dbff879cf3e9f62d055433c8f664003a58c99aec

Remove debugging line. by apacible@chromium.org
https://chromium.googlesource.com/chromium/src/+/72e902e08a324735bf7222f9d980616a183b9eaf

Fix a crash in debug build due to invalidate weakptr on wrong thread by bshe@chromium.org
https://chromium.googlesource.com/chromium/src/+/8460d1bc090aed56b86845e7f3501a6d38d04f4f

[RLS] Do not use scrollbar-excluded overflow clip at the root by pdr@chromium.org
https://chromium.googlesource.com/chromium/src/+/86d1cc1b33260b95367afdedb6195c842dc8e5c0

Move STHDistributor, STHObserver, and STHReporter out of //net by rsleevi@chromium.org
https://chromium.googlesource.com/chromium/src/+/6d00e4f36107c15910509a7766debb81921e5993

Understanding performance regressions:
  http://g.co/ChromePerformanceRegressions
Owner: pdr@chromium.org
Going to push to PDR, as I doubt a no-op code move of some interfaces is gonna regress, whereas paint clipping seems... more likely :)
Project Member

Comment 6 by 42576172...@developer.gserviceaccount.com, Apr 14 2018

Cc: jgruber@chromium.org mlippautz@chromium.org hpayer@chromium.org szuend@google.com blundell@chromium.org sky@chromium.org yangguo@chromium.org machenb...@chromium.org tedc...@chromium.org tzik@chromium.org samans@chromium.org mstarzinger@chromium.org mariakho...@chromium.org wjmaclean@chromium.org ahaas@chromium.org delph...@chromium.org clemensh@chromium.org titzer@chromium.org thildebr@chromium.org bajones@chromium.org kenrb@chromium.org rmcilroy@chromium.org eroman@chromium.org palmer@chromium.org sunn...@chromium.org liyuqian@google.com grt@chromium.org
📍 Found significant differences after each of 19 commits.
https://pinpoint-dot-chromeperf.appspot.com/job/15a3ed62c40000

Notify UpgradeObservers of stage changes at the precise moment of change. by grt@chromium.org
https://chromium.googlesource.com/chromium/src/+/e43c2ac60ed2e63642b86ef4945a09abbd8a850a

Use the shared instance of base::Default{,Tick}Clock in frame_sinks/ by tzik@chromium.org
https://chromium.googlesource.com/chromium/src/+/15bba8177ed65a1f92ea150dc7fa5107284c8a57

Eliminate URL to search terms flicker in omnibox for Query in Omnibox. by thildebr@chromium.org
https://chromium.googlesource.com/chromium/src/+/419aae8fde51b0123584fef43e9a2d49f729c8bc

Revert "Test for adding gesture target that's not in map." by wjmaclean@chromium.org
https://chromium.googlesource.com/chromium/src/+/a49abb1509a7808645847913b115cfca0b281949

Fix IOBuffer leak when a TCPSocketWin is closed with a pending read. by mmenke@chromium.org
https://chromium.googlesource.com/chromium/src/+/e0673201112d4f6f49c588b715b3592c2a86c425

Remove dubious usage of atomics in PowerMonitorBroadcastSource. by sunnyps@chromium.org
https://chromium.googlesource.com/chromium/src/+/ee48ee3018a9822cf3cfcf859a11415da0888be8

[heap] Fix ArrayBufferTracker teardown ordering by mlippautz@chromium.org
https://chromium.googlesource.com/v8/v8/+/3e3606e744fa93ff1c695fbfba3fd2ea9e77339d

Removes messages.js by szuend@google.com
https://chromium.googlesource.com/v8/v8/+/028d4d8107eaf61ef202675d2b82cf2c3859c2fa

Revert "[debug] add runtime side effect check for StaCurrentContextSlot" by jgruber@chromium.org
https://chromium.googlesource.com/v8/v8/+/2c3654c4a623e9be1acf8fa2b44fd84e7a7ec1f1

[snapshot] CodeSerializer never allocates in RO_SPACE by delphick@chromium.org
https://chromium.googlesource.com/v8/v8/+/378e884680306f8bdd1726efaf8fa8fbc24eaeba

[wasm] Clean up SetBlockType by clemensh@chromium.org
https://chromium.googlesource.com/v8/v8/+/04246dcc1b26f538127187311eba66bbf1bd2ed8

[wasm] Remove obsolete {Code::has_tagged_params} field. by mstarzinger@chromium.org
https://chromium.googlesource.com/v8/v8/+/7b2b708ff0444f40606fcd64202b67e8b5d9fd42

[heap] Move initial objects into RO_SPACE by delphick@chromium.org
https://chromium.googlesource.com/v8/v8/+/f8ae62fe14f80fb0f071d4e9a83cb9aa677ccb29

[wasm] Merge the WasmContext into WasmInstanceObject by titzer@chromium.org
https://chromium.googlesource.com/v8/v8/+/a6d974fe00df34e866abc1150294a5bbf1d42535

[foozzie] Make correctness runs deterministic by machenbach@chromium.org
https://chromium.googlesource.com/v8/v8/+/ba5b4a323515121fb56feb0a4d5643a54aec4800

Report the maximum and recommended VR framebuffer resolution separately by bajones@chromium.org
https://chromium.googlesource.com/chromium/src/+/9084e42d6ea2597aed3372fa5bf4cb05b7619146

Increment the revision number of GPU pixel tests by liyuqian@google.com
https://chromium.googlesource.com/chromium/src/+/200e5ec9589da39c634f96b7f5d903c801c8d330

Remove debugging line. by apacible@chromium.org
https://chromium.googlesource.com/chromium/src/+/72e902e08a324735bf7222f9d980616a183b9eaf

[RLS] Do not use scrollbar-excluded overflow clip at the root by pdr@chromium.org
https://chromium.googlesource.com/chromium/src/+/86d1cc1b33260b95367afdedb6195c842dc8e5c0

Understanding performance regressions:
  http://g.co/ChromePerformanceRegressions
Project Member

Comment 7 by bugdroid1@chromium.org, Apr 25 2018

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

commit 26e2572987b0e3a147911c1aa26f7f747968cc01
Author: Philip Rogers <pdr@chromium.org>
Date: Wed Apr 25 18:03:59 2018

[RLS] Avoid full tree rebuilds on hit testing clip changes

This is a revert of [1] which caused performance regressions. This patch
reimplements a solution that avoids full tree rebuilds when only hit
testing clip values change in the clip tree.

Typically, when property nodes are updated, we force a full tree
rebuild if nodes are created or destroyed, but not if node values are
simply updated. Clip nodes are an exception to this because changing
their values ends up causing a full tree rebuild. The hit testing clip
rect (aka clip_rect_excluding_overlay_scrollbars) is different though,
and does not need to force a full tree rebuild when it changes. This
patch special-cases the hit testing clip rects to avoid a full tree
rebuild. When overlay scrollbars hide or appear, the hit testing
clip values change but a full tree rebuild is not needed.

[1] https://crrev.com/86d1cc1b33260b95367afdedb6195c842dc8e5c0

Bug:  823999 ,  830746 ,  830771 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I7ab426aaead0c87a1aedf0980648505d82d40215
Reviewed-on: https://chromium-review.googlesource.com/1026941
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Commit-Queue: Philip Rogers <pdr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#553652}
[modify] https://crrev.com/26e2572987b0e3a147911c1aa26f7f747968cc01/third_party/blink/renderer/core/paint/object_paint_properties.h
[modify] https://crrev.com/26e2572987b0e3a147911c1aa26f7f747968cc01/third_party/blink/renderer/core/paint/paint_layer_clipper.cc
[modify] https://crrev.com/26e2572987b0e3a147911c1aa26f7f747968cc01/third_party/blink/renderer/core/paint/paint_property_tree_builder.cc
[modify] https://crrev.com/26e2572987b0e3a147911c1aa26f7f747968cc01/third_party/blink/renderer/core/paint/paint_property_tree_builder_test.cc
[modify] https://crrev.com/26e2572987b0e3a147911c1aa26f7f747968cc01/third_party/blink/renderer/platform/graphics/paint/clip_paint_property_node.h

Comment 8 by pdr@chromium.org, Apr 27 2018

Status: Fixed (was: Assigned)

Comment 9 by pdr@chromium.org, May 4 2018

Cc: yoichio@chromium.org xiaoche...@chromium.org yosin@chromium.org
 Issue 830767  has been merged into this issue.
Cc: -bajones@chromium.org -ymalik@chromium.org -klausw@chromium.org
I don't think it's the WebVR change, cf. https://bugs.chromium.org/p/chromium/issues/detail?id=830767#c8 .

Sign in to add a comment