Bug 182436

Summary: animation-play-state: paused causes very high cpu load because of style invalidation loop
Product: WebKit Reporter: Steffen Deusch <steffen>
Component: AnimationsAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, dino, dstockwell, ews-watchlist, graouts, jonlee, koivisto, simon.fraser, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Safari Technology Preview   
Hardware: All   
OS: All   
Attachments:
Description Flags
patch none

Description Steffen Deusch 2018-02-02 08:31:57 PST
Hello everyone,
when using animation-play-state: paused on an animated element and using a transition on a parent element, Safari, Safari TP and WebKit Nightly are suddenly recalculating styles all the time, causing a high cpu load. Opening the Web Inspector causes an even higher CPU load (using WebKit Nightly):

https://files.steffend.me/public/webkitbug/webkit-style-invalidation.html
Try to open the page in Safari and hover over the card. Then open the Web Inspector.
The same is happening in MobileSafari on iOS 11.2(.x), causing the battery to drain fast.

Next, try opening:
https://files.steffend.me/public/webkitbug/webkit-style-invalidation-playing.html
There, the issue doesn't happen, as the animation is not paused (also no high cpu usage in the Web Inspector).
Comment 1 Radar WebKit Bug Importer 2018-02-02 21:25:05 PST
<rdar://problem/37182562>
Comment 2 Antti Koivisto 2018-05-14 10:01:48 PDT
Created attachment 340325 [details]
patch
Comment 3 WebKit Commit Bot 2018-05-15 01:59:58 PDT
Comment on attachment 340325 [details]
patch

Clearing flags on attachment: 340325

Committed r231794: <https://trac.webkit.org/changeset/231794>
Comment 4 WebKit Commit Bot 2018-05-15 02:00:00 PDT
All reviewed patches have been landed.  Closing bug.