Smooth scrolling causes responsiveness lag when renderer is very slow |
||||
Issue descriptionIf the renderer is very slow, smooth scrolling significantly increases the apparent interaction lag with the page. I opened about a dozen tabs by middle-clicking on Google News, which resulted in them all being in the same process. One badly behaved one caused very high CPU and memory use in the process continually. This isn't ideal, but it's not a terribly rare scenario in my experience. Trying to scroll any tab via e.g. PgDn resulted in a slow-but-reasonably-responsive (lag ~ 1 sec) initial scroll of a few pixels down, followed by a long pause (~ 5 sec?), followed by a jump to the final position. I assume we tried to smoothly scroll, the initial movement triggered a lot of work, and by the time the next timer fired we were long past the desired scroll end time. My ideas for fixing this are all variants on "keep track of responsiveness, and disable smooth scrolling while we're not very responsive". This would likely involve timing the current message loop lag or latency in servicing previous scroll timer firings.
,
Jan 5 2017
,
Feb 15 2018
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue. Sorry for the inconvenience if the bug really should have been left as Available. If you change it back, also remove the "Hotlist-Recharge-Cold" label. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
,
Feb 15 2018
I'm not sure disabling smooth scrolling will have a noticeable difference in experience to the user since the effect is an instantaneous jump in both cases. Adding a special case here to downgrade to non-smooth scrolling will incur significant complexity and be non trivial to implement. I think the better approach here is to move keyboard scrolling to the compositor so that this case would have been scrolled on the compositor, despite lots of main thread work. This is currently on the input team's near-term roadmap so I'll close this bug in favor of that (tracked by issue 125223). |
||||
►
Sign in to add a comment |
||||
Comment 1 by bokan@chromium.org
, Jan 5 2017Labels: Hotlist-Input-Dev
Status: Available (was: Untriaged)