Closed Bug 1489732 Opened 7 years ago Closed 7 years ago

Make tscrollx/tp5_scroll use MozAfterPaint

Categories

(Testing :: Talos, enhancement)

enhancement
Not set
normal

Tracking

(firefox64 fixed)

RESOLVED FIXED
mozilla64
Tracking Status
firefox64 --- fixed

People

(Reporter: mattwoodrow, Assigned: mattwoodrow)

Details

Attachments

(1 file)

I've been investigating the tscroll results a bit, and it looks like we'd be better off using MozAfterPaint to record tscrollx results (instead of rAF). The current main-thread scrolling code is hitting a fast path where we detect that APZ can scroll the page, and we just forward the event details to APZ instead of doing a main thread scroll. Because of this, our main-thread and async scroll code are both testing almost the exact same thing (and get almost identical scores). There's also an issue where multiple rAF calls can get coalesced into a single composite, and we're not detecting this. The WebRender configuration does this a lot, so we're recording twice as many frames as were actually presented to the screen. The main-thread scores end up being twice as fast as the async ones for this reason (but are currently all 0s until bug 1488980 lands). If we switch to using MozAfterPaint, and make sure we avoid the fast path, then we should get much more relevant results. We'd expect all numbers to increase though, since the measurement would now be of round-trip time to draw a scroll change, instead of interval between frames.
Assignee: nobody → matt.woodrow
Comment on attachment 9007409 [details] Bug 1489732 - Make tscrollx/tp5_scroll use MozAfterPaint for determining when a frame is finished. r?jmaher,mstange Joel Maher ( :jmaher ) (UTC-4) has approved the revision.
Attachment #9007409 - Flags: review+
Comment on attachment 9007409 [details] Bug 1489732 - Make tscrollx/tp5_scroll use MozAfterPaint for determining when a frame is finished. r?jmaher,mstange Markus Stange [:mstange] has approved the revision.
Attachment #9007409 - Flags: review+
Pushed by mwoodrow@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/5ee161a4e12d Make tscrollx/tp5_scroll use MozAfterPaint for determining when a frame is finished. r=mstange,jmaher
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla64
and the related performance regressions: == Change summary for alert #15886 (as of Fri, 14 Sep 2018 05:39:03 GMT) == Regressions: 48% tscrollx windows7-32 opt e10s stylo 0.70 -> 1.04 38% tscrollx windows10-64 opt e10s stylo 0.63 -> 0.87 31% tscrollx linux64 opt e10s stylo 0.66 -> 0.87 For up to date results, see: https://treeherder.mozilla.org/perf.html#/alerts?id=15886
sorry, that didn't get them all, here is the list we have which should be closer to a full list: == Change summary for alert #15886 (as of Fri, 14 Sep 2018 05:39:03 GMT) == Regressions: 90% tp5o_scroll windows10-64 opt e10s stylo 0.72 -> 1.36 88% tp5o_scroll windows7-32 pgo e10s stylo 0.72 -> 1.34 88% tp5o_scroll linux64 pgo e10s stylo 0.57 -> 1.07 48% tscrollx windows7-32 opt e10s stylo 0.70 -> 1.04 38% tscrollx windows10-64 opt e10s stylo 0.63 -> 0.87 31% tscrollx linux64 opt e10s stylo 0.66 -> 0.87 For up to date results, see: https://treeherder.mozilla.org/perf.html#/alerts?id=15886
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: