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

Issue 794986 link

Starred by 1 user

Issue metadata

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

Blocked on:
issue 806036



Sign in to add a comment

8.2%-18.3% regression in thread_times.key_mobile_sites_smooth at 523134:523222

Project Member Reported by kraynov@chromium.org, Dec 14 2017

Issue description

See the link to graphs below.
 
 Issue 794985  has been merged into this issue.
graphs:

https://chromeperf.appspot.com/group_report?bug_id=794986

Kicked off some more bisects, looks like the dashboard didn't update this bug correctly.
Project Member

Comment 3 by 42576172...@developer.gserviceaccount.com, Jan 22 2018

๐Ÿ“ Pinpoint job started.
https://pinpoint-dot-chromeperf.appspot.com/job/14a4cce4840000
Project Member

Comment 4 by 42576172...@developer.gserviceaccount.com, Jan 23 2018

๐Ÿ“ Couldn't reproduce a difference.
https://pinpoint-dot-chromeperf.appspot.com/job/14a4cce4840000
Cc: dtu@chromium.org sullivan@chromium.org simonhatch@chromium.org
Simon, Dave: more bisects failing to reproduce values, anythign we can do here?
Project Member

Comment 6 by 42576172...@developer.gserviceaccount.com, Jan 29 2018

๐Ÿ“ Pinpoint job started.
https://pinpoint-dot-chromeperf.appspot.com/job/149d9d4a840000
Project Member

Comment 7 by 42576172...@developer.gserviceaccount.com, Jan 29 2018

๐Ÿ“ Pinpoint job started.
https://pinpoint-dot-chromeperf.appspot.com/job/12f75eda840000
Blockedon: 806036
Bots down: crbug.com/806036
Project Member

Comment 9 by 42576172...@developer.gserviceaccount.com, Jan 30 2018

Cc: briander...@chromium.org khushals...@chromium.org
Owner: khushals...@chromium.org
Status: Assigned (was: Untriaged)
๐Ÿ“ Found a significant difference after 1 commit.
https://pinpoint-dot-chromeperf.appspot.com/job/12f75eda840000

cc: Change heuristics for prioritizing impl-side invalidations.
By khushalsagar@chromium.org ยท Mon Dec 11 19:54:02 2017
chromium @ 17b77d94eb6f27e6cac263969fe9999522f2ade2

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

Comment 10 by 42576172...@developer.gserviceaccount.com, Jan 30 2018

๐Ÿ“ Found a significant difference after 1 commit.
https://pinpoint-dot-chromeperf.appspot.com/job/149d9d4a840000

cc: Change heuristics for prioritizing impl-side invalidations.
By khushalsagar@chromium.org ยท Mon Dec 11 19:54:02 2017
chromium @ 17b77d94eb6f27e6cac263969fe9999522f2ade2

Understanding performance regressions:
  http://g.co/ChromePerformanceRegressions
So looks like the logic for deciding whether the main thread is slow, and we should prioritize performing an impl-side invalidation over waiting to merge them with the main frame, does not run for Webview at all. So we always assume the main thread to be slow and invalidate before it can commit. Given that we don't have a draw deadline with sync compositing, I'm not sure what heuristics we could use, other than always waiting on the main thread.
Project Member

Comment 12 by 42576172...@developer.gserviceaccount.com, Jan 31 2018

๐Ÿ“ Pinpoint job started.
https://pinpoint-dot-chromeperf.appspot.com/job/14b2e216840000
๐Ÿ“ Pinpoint job started.
https://pinpoint-dot-chromeperf.appspot.com/job/15c00bf6840000
Cc: mdjones@chromium.org twelling...@chromium.org
Owner: mdjones@chromium.org
๐Ÿ“ Found a significant difference after 1 commit.
https://pinpoint-dot-chromeperf.appspot.com/job/15c00bf6840000

[Modern] Modernize the accessibility tab switcher
By mdjones@chromium.org ยท Thu Feb 01 02:06:39 2018
chromium @ bb3933892e1499aafdb25841ca90ff6c5e8ccf94

Understanding performance regressions:
  http://g.co/ChromePerformanceRegressions
Cc: -twelling...@chromium.org -mdjones@chromium.org
Owner: khushals...@chromium.org
I don't know what pinpoint did there. I had ran this for the patch in #13.
Project Member

Comment 17 by bugdroid1@chromium.org, Feb 1 2018

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

commit 10d3a66963310f7dc33b4f6478304439784da28e
Author: Khushal <khushalsagar@chromium.org>
Date: Thu Feb 01 06:38:44 2018

cc: Defer impl-side invalidations for main frame with sync scheduling.

With sync scheduling, we don't have a draw deadline that can be used to
predict whether the main thread will commit before it. Since the
heuristic for detecting this does not for the sync scheduling case,
currently we default to assume it to be slow and always perform the
invalidation at the beginning of frame. This will result in more raster
and block the main thread from committing.

This change ensures that with sync compositing, we always defer the
invalidation in order to merge with the main frame.

R=brianderson@chromium.org

Bug:  794986 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel
Change-Id: If56ad4136de91d999dcf3423a90580ba64a1ccb1
Reviewed-on: https://chromium-review.googlesource.com/895188
Reviewed-by: Brian Anderson <brianderson@chromium.org>
Commit-Queue: Khushal <khushalsagar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#533599}
[modify] https://crrev.com/10d3a66963310f7dc33b4f6478304439784da28e/cc/scheduler/scheduler_state_machine.h
[modify] https://crrev.com/10d3a66963310f7dc33b4f6478304439784da28e/cc/scheduler/scheduler_state_machine_unittest.cc
[modify] https://crrev.com/10d3a66963310f7dc33b4f6478304439784da28e/cc/scheduler/scheduler_unittest.cc

Brian, do you think this should be merged to 65? Its definitely going to put the main thread in high latency whenever cc animates an image.
Labels: Merge-Request-65 OS-Android
Yeah, let's merge to 65. It's low risk and it's a while before 65 goes stable.
Project Member

Comment 20 by sheriffbot@chromium.org, Feb 3 2018

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

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

Comment 21 by bugdroid1@chromium.org, Feb 3 2018

Labels: -merge-approved-65 merge-merged-3325
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d6389cc2cc5e4621e756b1f3e7c9f7a767144d8f

commit d6389cc2cc5e4621e756b1f3e7c9f7a767144d8f
Author: Khushal <khushalsagar@chromium.org>
Date: Sat Feb 03 01:34:38 2018

cc: Defer impl-side invalidations for main frame with sync scheduling.

With sync scheduling, we don't have a draw deadline that can be used to
predict whether the main thread will commit before it. Since the
heuristic for detecting this does not for the sync scheduling case,
currently we default to assume it to be slow and always perform the
invalidation at the beginning of frame. This will result in more raster
and block the main thread from committing.

This change ensures that with sync compositing, we always defer the
invalidation in order to merge with the main frame.

R=โ€‹brianderson@chromium.org

Bug:  794986 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel
Change-Id: If56ad4136de91d999dcf3423a90580ba64a1ccb1
Reviewed-on: https://chromium-review.googlesource.com/895188
Reviewed-by: Brian Anderson <brianderson@chromium.org>
Commit-Queue: Khushal <khushalsagar@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#533599}(cherry picked from commit 10d3a66963310f7dc33b4f6478304439784da28e)
Reviewed-on: https://chromium-review.googlesource.com/900462
Reviewed-by: Khushal <khushalsagar@chromium.org>
Cr-Commit-Position: refs/branch-heads/3325@{#277}
Cr-Branched-From: bc084a8b5afa3744a74927344e304c02ae54189f-refs/heads/master@{#530369}
[modify] https://crrev.com/d6389cc2cc5e4621e756b1f3e7c9f7a767144d8f/cc/scheduler/scheduler_state_machine.h
[modify] https://crrev.com/d6389cc2cc5e4621e756b1f3e7c9f7a767144d8f/cc/scheduler/scheduler_state_machine_unittest.cc
[modify] https://crrev.com/d6389cc2cc5e4621e756b1f3e7c9f7a767144d8f/cc/scheduler/scheduler_unittest.cc

Components: Internals>GPU>Metrics
Status: Fixed (was: Assigned)
And the graphs have recovered.

Sign in to add a comment