New issue
Advanced search Search tips

Issue 794138 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 3
Type: Feature



Sign in to add a comment

diego.one uses a lot of idle-time CPU

Project Member Reported by eseckler@chromium.org, Dec 12 2017

Issue description

e.g. https://diego.one/go%C3%A4/5020

Seeing this both on headless and desktop.

It seems something is animating but not actually making any changes, resulting in a lot of aborted BeginMainFrames.

Trace attached. CPU time is primarily spent in CompositingRequirementsUpdater::updateRecursive (~90ms per BeginMainFrame).

Any optimization potential here?
 
trace_diego.one.json.gz
6.5 MB Download
Observing a similar behavior on some pages on tfl.gov.uk.

e.g. https://tfl.gov.uk/bus/stop/490012640M/fleet-street-city-thameslink

Trace attached. CPU time is again primarily spent in CompositingRequirementsUpdater::updateRecursive (~85ms per BeginMainFrame). Lots of BMFs seemingly caused by an animation but then aborted (no updates).
trace_tfl.gov.uk.json.gz
7.5 MB Download
Cc: chrishtr@chromium.org
Status: Available (was: Untriaged)
I think this might be non-actionable. We need to do some work to determine if the animation is having any visible effects. And sometime there is animation running across the top of the screen. Repaint does not show untoward behavior.

chrishtr@, WontFix this?
Is the animation making no changes at all, or is it only affecting offscreen content?
Cc: paulir...@chromium.org pfeldman@chromium.org
For diego.one: The responsible animation seems to be on a :before element of a span with style "opacity: 0" (span.f37guwu::before). The span is on the screen, but invisible b/c of 0 opacity.

For tfl.gov.uk: There's a spinner (div.goog-te-spinner-pos) at "left: -1000px; top: -1000px" with an animated <svg> inside an "opacity:0" div (div.goog-te-spinner-animation).

I also came across another page today where animations are offscreen (https://euromat.com.pl/pol_m_Dzieci-Mlodziez-i-Art-Licencyjne-172.html), and causing a lot of CPU spent in Document::recalcStyle (trace attached).

Is there any way to avoid this work for such animations, or is this something that web developers have to take care of?

If the latter, do we (or should we) have a way to highlight such issues to developers e.g. in DevTools and/or Lighthouse? (+pfeldman and paulirish)
trace_euromat.com.pl.json.gz
8.5 MB Download
Components: -Blink>Paint Blink>Animation
Status: Unconfirmed (was: Available)
It's an interesting point. There should be a way to avoid more work with
opacity:0 subtrees when the opacity itself is not animating.

Animation team, WDYT?
Cc: flackr@chromium.org
Labels: -Type-Bug Type-Feature
Cc: -flackr@chromium.org
Owner: flackr@chromium.org
Status: Available (was: Unconfirmed)
Status: Assigned (was: Available)

Sign in to add a comment