New issue
Advanced search Search tips

Issue 724237 link

Starred by 2 users

Issue metadata

Status: Duplicate
Merged: issue 664258
Owner: ----
Closed: May 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug

Blocking:
issue 723803



Sign in to add a comment

Google I/O page uses 40% CPU for an offscreen animation

Project Member Reported by shrike@chromium.org, May 18 2017

Issue description

Chrome Version: 60.0.3101.0
OS: macOS 10.12

What steps will reproduce the problem?
(1) Go to the Google I/O site (attached)

What is the expected result?
0% CPU consumed by the page's renderer

What happens instead?
The page's renderer consumes about 40% CPU. There are no screen updates occurring (confirmed by Quartz Debug). All of the CPU is going towards performing an animation that is completely offscreen. If you scroll the page to the left you'll see the animation.
 
GoogleIO2017-site.zip
208 KB Download
Cc: chrishtr@chromium.org
Components: -Blink Blink>Paint
Step 1: Figure out what kind of animation. I seem to recall that we fixed one more use case recently.
Cc: f...@opera.com
Components: Blink>SVG
Labels: BugSource-Chromium PaintTeamTriaged-20170519
Status: Available (was: Untriaged)
There's a rotating rect driven by an <animate> element in an SVG that is updated despite its layer being off-screen. It seems we might have to run this, as we don't know the side effects that might be happening. Does anyone have an insight on whether we can not run this code snippet when out of view:

<svg viewBox="0 0 350 350" fill="currentColor" preserveAspectRatio="xMidYMid meet" height="350" width="350" style="vertical-align: middle;">
  <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
    <rect fill="#40e7b8" x="170" y="5" width="10" height="340" opacity="1" transform="rotate(324.353 175 176)">
      <animateTransform attributeName="transform" attributeType="XML" type="rotate" from="0 175 176" to="360 175 176" dur="8s" repeatCount="indefinite">
      </animateTransform>
    </rect>
  </g>
</svg>

Comment 3 by f...@opera.com, May 19 2017

To be able to not run it we'd need to know that the target (the <rect>) is not visible (anytime during the animation) or have side-effects (like event-listeners triggered by interval updates - 'begin', 'end', 'repeat*'. None in this case based on the above snippet. Syncbases would also need to be considered, since could affect visible animations.) There's possibly more to it...

Issue 664258 is pretty much the same thing (with similar restrictions.) We also have  issue 377097 , which is a slightly "simpler" version of this.
Project Member

Comment 4 by sheriffbot@chromium.org, May 21 2018

Labels: Hotlist-Recharge-Cold
Status: Untriaged (was: Available)
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.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Mergedinto: 664258
Status: Duplicate (was: Untriaged)
Based on the comments it seems that the plausible improvements are covered in other bugs. So closing this one.

Sign in to add a comment