Bug 207435

Summary: Optimize style resolution for animations
Product: WebKit Reporter: Simon Fraser (smfr) <simon.fraser>
Component: CSSAssignee: Nobody <webkit-unassigned>
Status: NEW    
Severity: Normal CC: graouts, koivisto, simon.fraser, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Safari Technology Preview   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Animation test
none
Testcase none

Simon Fraser (smfr)
Reported 2020-02-08 16:59:57 PST
Created attachment 390186 [details] Animation test Animations (both old and new) currently invalidate style on the element every frame, which triggers a full TreeResolver::resolve() which is expensive. In the attached testcase, TreeResolver::resolve() is 14% of CPU time. We should optimize style resolution with a type of invalidation for animations.
Attachments
Animation test (980 bytes, text/html)
2020-02-08 16:59 PST, Simon Fraser (smfr)
no flags
Testcase (1.04 KB, text/html)
2020-02-08 17:01 PST, Simon Fraser (smfr)
no flags
Simon Fraser (smfr)
Comment 1 2020-02-08 17:01:51 PST
Created attachment 390187 [details] Testcase
Simon Fraser (smfr)
Comment 2 2020-02-08 17:26:24 PST
With 500 animating elements, style resolve time exceeds paint time.
Radar WebKit Bug Importer
Comment 3 2020-02-08 17:26:41 PST
Note You need to log in before you can comment on or make changes to this bug.