[MacViews-Browser] Tabspinner lags at beginning of the site-loading |
|||||||||||
Issue descriptionChrome Version: Canary 67.0.3390.0 OS: macOS 10.12.6 What steps will reproduce the problem? (1) Open a New Tab (2) Focus the Omnibox and visit a site (3) Take a look at the Tabspinner when the site-loading starts What is the expected result? The Tabspinner animation should not lag at the beginning of the site-loading. It should be smooth as in Cocoa Mode. What happens instead? The Tabspinner animation lags at the beginning of the site-loading. Please use labels and text to provide additional information. Two screencasts (Cocoa vs. MacViews) are attached.
,
Apr 9 2018
erikchen: ptal? :)
,
Apr 25 2018
Took a trace during tab opening. Looks like the main thread gets some jank due to Views::Paint and RenderText::Elide. Investigating.
,
Apr 25 2018
Pls mark the bug as fixed if CL is landed in trunk and nothing else is pending. Thank you.
,
May 2 2018
Attaching another trace that shows problems with RenderWidgetHostImpl::PauseForPendingResizeOrRepaints. See https://cs.chromium.org/chromium/src/content/browser/renderer_host/render_widget_host_impl.cc?type=cs&q=PauseForPendingResizeOrRepaints&sq=package:chromium&l=1025 [potentialy 167ms main thread sleep] The fundamental problem is that the animation used to be driven by CA, and thus continued to flow smoothly during main thread jank. And now the animation is driven by views animations which is affected by main thread jank.
,
May 2 2018
I've always found the throbber animation a useful tool for gauging main thread jank :)
,
May 3 2018
There are some ideas starting at https://bugs.chromium.org/p/chromium/issues/detail?id=391646#c41 for moving the tab spinner animation off the main thread by animating a transform on the compositor thread. Another option is to pre-generate the tab spinner frames and ship them into GPU textures before animating anything. There's a thread with more about this at https://goto.google.com/xgcmn Issue 695714 talks about a more drastic overhaul of the loading animation.
,
May 3 2018
I'm all for using less power on net if we can, say, convert a CPU-driven animation to a GPU-driven one, or some other such win. I'm much less in favor of changes that we'd make to try and keep this specific animation responsive in the face of UI jank when all of views UI animations are main-thread driven. The problem in that case is jank, let's not bandaid it. In the particular case of the throbber note that we'll be completely changing its appearance/behavior soon, which may render some of the other detailed discussions about it obsolete.
,
Jun 20 2018
,
Jun 23 2018
,
Jun 26 2018
This bug boils down to reducing jank on UI and IO threads. I've got a proposal to introduce a metric to measure this: https://docs.google.com/document/d/1wXi4ob6IWANIAIVD2k2a6WmI_BSdTIoipnrsNJdB1N0/edit?ts=5b31398d but it seems unlikely we're going to make significant progress by M-69.
,
Jun 28 2018
,
Jul 2
,
Jul 12
,
Jul 12
,
Jul 26
,
Jul 26
This is unlikely to make M-69
,
Nov 1
Issue 901011 has been merged into this issue.
,
Nov 26
*** UI Mass Triage*** As per dev comments adding labels for expert review.Thank You! |
|||||||||||
►
Sign in to add a comment |
|||||||||||
Comment 1 by meh...@chromium.org
, Apr 9 2018