Bug 185816

Summary: Run clip-path animations on the compositor
Product: WebKit Reporter: Jake Archibald <jaffathecake>
Component: CSSAssignee: Nobody <webkit-unassigned>
Status: NEW    
Severity: Normal CC: bfulgham, dino, simon.fraser, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Safari Technology Preview   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 126207    

Jake Archibald
Reported 2018-05-21 00:53:10 PDT
http://output.jsbin.com/ticeve/quiet - this is a CSS animation. If you hit the 'jank' button (which causes the event loop to block), the reveal/hide part of the animation stutters. It's common in UI for a transition to include scale/translation, but also some kind of revealing/hiding. The former is easy to do entirely on the compositor, and avoid any kind of main thread jank, but the latter isn't. You can kinda work around it by translating an element within an element that's overflow:hidden, but it gets complicated fast. Ideally clip-path would work entirely on the compositor, and not jank like the demo page.
Attachments
Simon Fraser (smfr)
Comment 1 2019-10-21 10:46:25 PDT
Clip-path changes don't trigger repaints, but we don't run them in the compositor. I'd have to see how to map them to CoreAnimation APIs.
Brent Fulgham
Comment 2 2022-07-15 13:43:47 PDT
Feature Request
Radar WebKit Bug Importer
Comment 3 2022-07-15 13:43:49 PDT
Note You need to log in before you can comment on or make changes to this bug.