Issue metadata
Sign in to add a comment
|
sluggish scrolling on m.macys.com |
||||||||||||||||||||||||
Issue descriptionVersion: 51, 52, 53 OS: Android What steps will reproduce the problem? (1) Go to m.macys.com on S7 edge. (2) Search for an item, e.g. 'towels'. (3) Scroll up and down What is the expected output? No lag. What do you see instead? The scrolling is sluggish. Originally reported as b/30491191. Log on M51 says "Deferred long-running timer task(s) to improve scrolling smoothness. See crbug.com/574343 ". The issue 574343 is closed, but this problem still persists.
,
Aug 2 2016
,
Aug 2 2016
,
Aug 4 2016
I can reproduce even after all loading has finished. Flinging the page results in periodic stuttering during the fling. Perhaps a long running javascript function? Trace attached.
,
Aug 4 2016
I should have noted, the trace above was captured on a Nexus 5X with Chrome stable (52.0.2743.98). I'm not really sure what to make of the trace, but it looks like there's two RendererSchedulerShortIdlePeriods that exceed 100ms during the scroll but without much visibility into what's going on. I would expect to be able to see V8 if we're calling into JS so perhaps this is an issue somewhere in Chrome. I also captured a timeline trace in devtools. This shows multiple frames >100ms but no clear reason why, there's lots of timers being fired but there's no "one big" function call.
,
Aug 4 2016
,
Aug 5 2016
+creis It looks like BeginMainFrame occasionally gets held up behind a long-ish running (~100ms) task posted by StartNavStateSyncTimerIfNecessary.
,
Aug 5 2016
StartNavStateSyncTimerIfNecessary normally kicks off a RenderViewImpl::SendUpdateState, which serializes the current WebHistoryItem into a PageState. It's possible that could be a slow task if the page has enormous data to serialize (like some pages which unfortunately store huge amounts of JS in the frame's name). This would happen 1 second after events like typing into a form or scrolling, both of which get stored in the history item. You might check to see how big the PageState object is, to see if that confirms the theory. dcheng@ had some plans to limit the size of frame unique names to mitigate this to some degree. See issue 626202 .
,
Aug 25 2016
I logged the PageState size and it looks like we're continually creating PageStates ~400kb so that's likely the problem. |
|||||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||||
Comment 1 by skyos...@chromium.org
, Aug 1 2016