Closed
Bug 1297312
Opened 8 years ago
Closed 6 years ago
Occasional flicker when a compositor animation ends (with negative playback rate?)
Categories
(Core :: DOM: Animation, defect, P5)
Core
DOM: Animation
Tracking
()
RESOLVED
FIXED
Tracking | Status | |
---|---|---|
firefox51 | --- | affected |
People
(Reporter: birtles, Unassigned)
References
()
Details
Attachments
(2 files)
This is likely a dupe of another bug but I haven't found it yet.
1. In a DEBUG build, load the test URL: https://jsfiddle.net/vLz022nf/
2. Observe that when the animation finishes it occasionally jumps back to a mid-way point of the animation for about one frame (see video)
This reproduces for me about 1 in every 2~3 times. I have yet to produce this in an opt build but I suspect it could happen on a lower-powered machine.
I've certainly seen flicker like this before in an opt build.
I started debugging this but so far everything in the animation model / timing model seems correct. We appear to be setting up a null animation rule when the animation finishes.
My best guess at this point is that there is a race where we sometimes destroy the transform layer and use the most-recently generated animation rule on the main thread for the paint before we end up clearing the animation rule. Perhaps there is something buggy in detecting when an animation in reverse has finished where the main thread throttles when it should not? Could this even be a regression from bug 1286476?
I wonder where I should drop a printf to indicate when the transform layer is dropped.
Updated•8 years ago
|
Flags: needinfo?(hiikezoe)
Comment 1•8 years ago
|
||
It's hard to reproduce this on my laptop, but I suspect this bug is caused by unthrottling transform on every 200ms.
I guess the jump will happen if we unthrottle the transform on a busy frame.
Comment 2•8 years ago
|
||
It might be another issue though.
Reporter | ||
Comment 3•8 years ago
|
||
(In reply to Hiroyuki Ikezoe (:hiro) from comment #1)
> It's hard to reproduce this on my laptop, but I suspect this bug is caused
> by unthrottling transform on every 200ms.
I can only reproduce on a debug build. I am testing on Windows so it might be platform-dependent too. I *think* it occurred more frequently as I inserted more printf statements (i.e. causing the browser to run even more slowly).
Comment 4•8 years ago
|
||
Bug 1311196 reminds me this bug. Now I think the root cause is the same as bug 1311196.
Comment 5•8 years ago
|
||
I was wrong. This is not related to bug 1311196.
Here is an example with artificial main-thread busy. The animations looks stopping at the middle of the way when it's finished.
Updated•8 years ago
|
Comment 7•6 years ago
|
||
I can still see the issue on Android.
Let's see if this is fixed by bug 1486278.
See Also: → 1486278
Comment 8•6 years ago
|
||
I can no longer see the issue on 20181005102515 build.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•