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

Issue 664809 link

Starred by 15 users

Issue metadata

Status: Fixed
Owner:
(currently inactive on Chromium)
Closed: Nov 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug-Regression



Sign in to add a comment

6.2% regression in battor.trivial_pages/story:power_avg on mac-power-dual-gpu at 431656:431696

Project Member Reported by charliea@chromium.org, Nov 13 2016

Issue description

Performance dashboard identified a 6.2% regression in battor.trivial_pages/story:power_avg on mac-power-dual-gpu at revision range 431656:431696. Graph: https://chromeperf.appspot.com/report?masters=ChromiumPerfFyi&bots=mac-power-dual-gpu&tests=battor.trivial_pages%2Fstory%3Apower_avg&checked=story%3Apower_avg%2Cstory%3Apower_avg_ref%2Cref&rev=431696

This caused a *noticeable* regression in CPU usage and power on Canary: after a few minutes with Canary running, my fans were spinning loudly and top was reporting Chrome consuming 100% of my CPU.

Attached is a screenshot of a trace exhibiting this problem: it's clear that we're just constantly repainting the scrollbar. Because of this (and the revision range), I strongly suspect that https://codereview.chromium.org/2454913003 is responsible, so I'm going to go ahead and CC ymalik@ (the author) for now. I'm also going to kick off a bisect that should confirm this. If we do confirm it, we'll revert the change.
 
Screen Shot 2016-11-13 at 12.35.35 PM.png
447 KB View Download
Project Member

Comment 2 by 42576172...@developer.gserviceaccount.com, Nov 13 2016

Owner: ymalik@chromium.org

=== Auto-CCing suspected CL author ymalik@chromium.org ===

Hi ymalik@chromium.org, the bisect results pointed to your CL below as possibly
causing a regression. Please have a look at this info and see whether
your CL be related.


===== BISECT JOB RESULTS =====
Status: completed


===== SUSPECTED CL(s) =====
Subject : MainFrame scrollbars should work with RFV instead of FV
Author  : ymalik
Commit description:
  
This CL does the following things:
- FV::updateScrollbarGeometry and part of FV::computeScrollbarExistence is moved into
scrollbar manager.
- For MainFrame, the scroller that the scrollbars works with is changed to be RFV from FV
- To accommodate for this, a bunch of methods in Scrollbar that used to call into FV now
call into RFV, which in turn calls the corresponding methods on its layout viewport. An
exception to this is Tickmarks. Tickmarks for MainFrame are now stored in RFV.
- The isOverlayScrollbar method was needlessly implemented in FV. This CL removes this.

BUG=456861
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2454913003
Cr-Commit-Position: refs/heads/master@{#431683}
Commit  : 322db3d6f1f9eb4b9cd6a0054999718c24b1f076
Date    : Fri Nov 11 23:26:01 2016


===== TESTED REVISIONS =====
Revision         Mean     Std Dev   N  Good?
chromium@431634  11.8798  0.415657  8  good
chromium@431670  11.9241  0.393921  8  good
chromium@431679  11.9152  0.24554   8  good
chromium@431681  12.3386  2.66772   8  good
chromium@431682  12.1125  2.17124   8  good
chromium@431683  20.3748  0.643911  5  bad    <--
chromium@431688  20.4199  0.619008  5  bad
chromium@431705  20.336   1.04267   5  bad

Bisect job ran on: mac_retina_perf_bisect
Bug ID: 664809

Test Command: src/tools/perf/run_benchmark -v --browser=release --output-format=chartjson --upload-results --pageset-repeat=1 --also-run-disabled-tests --story-filter=TrivialScrollingPageSharedPageState battor.trivial_pages
Test Metric: story:power_avg/TrivialScrollingPageSharedPageState
Relative Change: 71.18%

Buildbot stdio: http://build.chromium.org/p/tryserver.chromium.perf/builders/mac_retina_perf_bisect/builds/1817
Job details: https://chromeperf.appspot.com/buildbucket_job_status/8996087549585478608


Not what you expected? We'll investigate and get back to you!
  https://chromeperf.appspot.com/bad_bisect?try_job_id=5801189801721856

| O O | Visit http://www.chromium.org/developers/speed-infra/perf-bug-faq
|  X  | for more information addressing perf regression bugs. For feedback,
| / \ | file a bug with component Tests>AutoBisect.  Thank you!
Revert in progress.

Comment 4 by ymalik@chromium.org, Nov 13 2016

This does look related to my patch. I'll take a look at it on Monday.
Project Member

Comment 5 by bugdroid1@chromium.org, Nov 13 2016

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

commit 7babb3129df2085a55a7fd66d7f069622a16b795
Author: charliea <charliea@chromium.org>
Date: Sun Nov 13 23:34:10 2016

Revert "MainFrame scrollbars should work with RFV instead of FV"

This reverts commit 322db3d6f1f9eb4b9cd6a0054999718c24b1f076.

This CL was shown to cause a significant increase in the power required
to scroll down a page on the Macbook Pro Retinas, from about 12W before
this patch to 20W after. It appears that this aligned with a similar
regression in CPU usage.

TBR=ymalik,bokan,skobes,jbroman,sky
BUG=456861, 664809 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2501493002
Cr-Commit-Position: refs/heads/master@{#431814}

[modify] https://crrev.com/7babb3129df2085a55a7fd66d7f069622a16b795/chrome/renderer/autofill/page_click_tracker_browsertest.cc
[modify] https://crrev.com/7babb3129df2085a55a7fd66d7f069622a16b795/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/7babb3129df2085a55a7fd66d7f069622a16b795/third_party/WebKit/LayoutTests/fast/events/scale-and-scroll-iframe-window.html
[modify] https://crrev.com/7babb3129df2085a55a7fd66d7f069622a16b795/third_party/WebKit/LayoutTests/fast/transforms/selection-bounds-in-transformed-view.html
[modify] https://crrev.com/7babb3129df2085a55a7fd66d7f069622a16b795/third_party/WebKit/LayoutTests/paint/invalidation/window-resize-centered-inline-under-fixed-pos-expected.txt
[modify] https://crrev.com/7babb3129df2085a55a7fd66d7f069622a16b795/third_party/WebKit/LayoutTests/platform/linux/paint/invalidation/window-resize-vertical-writing-mode-expected.txt
[modify] https://crrev.com/7babb3129df2085a55a7fd66d7f069622a16b795/third_party/WebKit/LayoutTests/platform/mac/paint/invalidation/window-resize-vertical-writing-mode-expected.txt
[modify] https://crrev.com/7babb3129df2085a55a7fd66d7f069622a16b795/third_party/WebKit/LayoutTests/platform/win/paint/invalidation/window-resize-vertical-writing-mode-expected.txt
[modify] https://crrev.com/7babb3129df2085a55a7fd66d7f069622a16b795/third_party/WebKit/Source/core/frame/FrameView.cpp
[modify] https://crrev.com/7babb3129df2085a55a7fd66d7f069622a16b795/third_party/WebKit/Source/core/frame/FrameView.h
[modify] https://crrev.com/7babb3129df2085a55a7fd66d7f069622a16b795/third_party/WebKit/Source/core/frame/RootFrameViewport.cpp
[modify] https://crrev.com/7babb3129df2085a55a7fd66d7f069622a16b795/third_party/WebKit/Source/core/frame/RootFrameViewport.h
[modify] https://crrev.com/7babb3129df2085a55a7fd66d7f069622a16b795/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp
[modify] https://crrev.com/7babb3129df2085a55a7fd66d7f069622a16b795/third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.h
[modify] https://crrev.com/7babb3129df2085a55a7fd66d7f069622a16b795/third_party/WebKit/Source/core/paint/ScrollbarManager.cpp
[modify] https://crrev.com/7babb3129df2085a55a7fd66d7f069622a16b795/third_party/WebKit/Source/core/paint/ScrollbarManager.h
[modify] https://crrev.com/7babb3129df2085a55a7fd66d7f069622a16b795/third_party/WebKit/Source/platform/scroll/ScrollableArea.cpp
[modify] https://crrev.com/7babb3129df2085a55a7fd66d7f069622a16b795/third_party/WebKit/Source/platform/scroll/ScrollableArea.h
[modify] https://crrev.com/7babb3129df2085a55a7fd66d7f069622a16b795/third_party/WebKit/Source/platform/scroll/Scrollbar.cpp
[modify] https://crrev.com/7babb3129df2085a55a7fd66d7f069622a16b795/third_party/WebKit/Source/web/tests/VisualViewportTest.cpp

Cc: charliea@chromium.org bokan@chromium.org altimin@chromium.org alexclarke@chromium.org bustamante@chromium.org skyos...@chromium.org
 Issue 664971  has been merged into this issue.
Status: Fixed (was: Assigned)

Comment 8 by thakis@chromium.org, Nov 14 2016

 Issue 664908  has been merged into this issue.

Comment 9 by skobes@chromium.org, Nov 14 2016

Cc: skobes@chromium.org ccameron@chromium.org paulir...@chromium.org kenjibaheux@chromium.org
 Issue 665172  has been merged into this issue.

Comment 10 by bokan@chromium.org, Nov 15 2016

Cc: manoranj...@chromium.org ligim...@chromium.org erikc...@chromium.org kerz@chromium.org gov...@chromium.org ajha@chromium.org nyerramilli@chromium.org
 Issue 664941  has been merged into this issue.
Cc: tdres...@chromium.org esprehn@chromium.org
 Issue 666563  has been merged into this issue.

Sign in to add a comment