Ok here's a heavily reduced test-case. I've identified that this requires: * an outer div with an animation that references "transform" and has an "animation-fill-mode: forwards". * an inner div with a subtle scale transform. This combination makes webrender sad, and it acts like it's "stuck" in an animation (while also seemingly doing a bad job drawing the text in that animation). The animation and its transform don't need to actually do anything. For instance, in my test all it contains is `100% { transform: none }`. I think the animation-fill-mode is tricking everything to stay in "animation mode". If I replace animation-fill-mode with "animation-duration: 2s", we still render badly for 2 seconds, but then snap into a good quality text at the end. So there's kinda two bugs here: * we're producing really ugly results in this animation (perhaps acceptable for real animations) * `animation-fill-mode: forward` keeps us trapped in this animation You could also argue it's a bug that we enter animation mode even for animations that don't actually do anything, but that's more debatable, as it's a reasonable heuristic to expect an animation to be animated (and it may be difficult to detect otherwise).
Bug 1575258 Comment 9 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
Ok here's a heavily reduced test-case. I've identified that this requires: * an outer div with an animation that references "transform" and has an "animation-fill-mode: forwards". * an inner div with a subtle scale transform. This combination makes webrender sad, and it acts like it's "stuck" in an animation (while also seemingly doing a bad job drawing the text in that animation). The animation and its transform don't need to actually do anything. For instance, in my test all it contains is `100% { transform: none }`. I think the animation-fill-mode is tricking everything to stay in "animation mode". If I replace animation-fill-mode with "animation-duration: 2s", we still render badly for 2 seconds, but then snap into a good quality text at the end. So there's kinda two bugs here: * we're producing really ugly results in this animation (perhaps acceptable for real animations, but this is particularly egregious. it looks like each glyph is getting randomly stretched or cut off, like we're messing up snapping) * `animation-fill-mode: forward` keeps us trapped in this animation You could also argue it's a bug that we enter animation mode even for animations that don't actually do anything, but that's more debatable, as it's a reasonable heuristic to expect an animation to be animated (and it may be difficult to detect otherwise).