[Webkit-unassigned] [Bug 269284] [web-animations] transform animation shows invisible frame on iteration

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Mar 11 10:06:11 PDT 2024


--- Comment #10 from Antoine Quint <graouts at webkit.org> ---
This is definitely a WebKit issue and will only occur on tiled content (in the general case this means any content with width or height larger than 1280pt), which is the case here. When tiled content is targeted by a transform animation, we compute the animated transform on each frame to determine which of the tiled layers are displayed and dynamically add or remove them.

The issue in this case is that when we reach an iteration boundary, we get in a situation where the timestamp we use to determine the computed transform and the timestamp used by Core Animation to apply the accelerated transform animation may be off by a few milliseconds alone and potentially yield a computed animation progress on either side of the iteration boundary. To put it simply, Core Animation might think it's at the very beginning of animation iteration n while WebKit might think it's at the very end of iteration n-1 (or vice versa).

This explains the flashing seen here because we're not display the expected tiles for the duration of a single animation frame.

The remedy is not obvious to me at this stage, and this might be a problem we choose not to fix until we move to threaded animation resolution (see bug 250970) where we have control over the timing used to resolve accelerated animations.

You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20240311/89e6c19f/attachment.htm>

More information about the webkit-unassigned mailing list