Bug 218016

Summary: Accelerated animations should use the same start time as software animations
Product: WebKit Reporter: Antoine Quint <graouts>
Component: AnimationsAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: dino, simon.fraser, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=217851

Description Antoine Quint 2020-10-21 05:45:03 PDT
Right now accelerated animations share a start time for a given transaction, and software animations share a start time for a given rendering update, but there's no guarantee that those shared start times are the same for accelerated and software animations started as a result of the same rendering update.
Comment 1 Radar WebKit Bug Importer 2020-10-21 05:45:28 PDT
<rdar://problem/70526060>
Comment 2 Antoine Quint 2020-10-21 05:48:00 PDT
One way to fix this would be to use the time used by accelerated animations as obtained through GraphicsLayerCA::platformCALayerAnimationStarted() and feed that back to the software animations.
Comment 3 Antoine Quint 2020-10-21 05:50:44 PDT
We should also consider not using the animation begin time to bake the time offset in, and instead use nested animations with groups to use the timeOffset property of the CA animation. This way we won't need to hard set a beginTime for animations with an offset in GraphicsLayerCA::updateAnimations().