But your point still stands. I believe we have async traces for flings on the compositor thread, but we should probably move that to the shared fling implementation so we get "free" coverage for both impl/main.On Thu, Apr 16, 2015 at 8:30 AM, Jared Duke <jdd...@google.com> wrote:That's only for touchpad flings.On Thu, Apr 16, 2015 at 8:28 AM, Timothy Dresser <tdre...@google.com> wrote:On Thu, Apr 16, 2015 at 11:20 AM Jared Duke <jdd...@google.com> wrote:Improving visibility of main vs impl scrolling is a great idea, particularly as we expose more controls that will increase the likelihood of main thread scrolling. I know various proposals have been toyed with in the past, from an indicator on the FPS hud to improved trace visibility, but I don't believe anything concrete has landed (outside of manual inspection).Yufeng, perhaps we should resurrect some of these ideas, e.g., crbug.com/131499? For touch scrolling it should be pretty simple, as we have explicit begin/end scroll event pairs that bound the scroll sequence and are locked to a given thread.For UMA, I think the only metric we have is Renderer4.CompositorScrollHitTestResult. This effectively shows that 99.7% of touch scrolls on Android use threaded scrolling (a fact that likely influenced our willingness to invest in improved visibility).On Wed, Apr 15, 2015 at 3:45 PM, Paul Irish <paul...@google.com> wrote:(Feel free to reroute this to an appropriate list)We handle things very differently when we're in composited vs main thread scrolling, but AFAIK we have no visibility during active profiling, benchmarking, or in the wild.
- As a web developer: Since we treat scroll events differently, knowing which mode I'm in helps me prioritize the right perf work.
- As Chrome eng: Should we validate our scrolling mode hypotheses when viewing a trace?
- As Chrome eng: Do we have insight on what mode our users are in? Can we measure this somehow in UMA?
Or perhaps you can tell me we already have this info being tracked somewhere. *crosses fingers*
This is super useful. Thanks guys.> I am also planning to add the mode to the RAIL auditing UI in trace viewer.Sounds good.We'll want our "scroll gesture" in the audit to have a property indicating which scrolling mode we're in.I'll have DevTools piggyback off that approach.---UMA results summarized:
- The Renderer4.CompositorScrollHitTestResult indicates 97-99% of scrolls are composited.
- Event.Latency.ScrollUpdate.TouchToHandled_Impl/_Main counts indicate >99% of scroll gestures handled on impl thread.
Those are great numbers. So happy to see it.---> I agree the distinction is hard to explain to developers though,For sure. TBH this is the first time I've learned we have not two but three modes of scrolling. :)
- impl-thread, accelerated scrolling
- accelerated scrolling
- 3. main thread scrolling
The "Show potential scroll bottlenecks" annotation indicates why we're in #3, right? Is it still correctly identifying all reasons?Under what circumstances do we hit #2 (on Android)?