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)

defect

Tracking

()

RESOLVED FIXED
Tracking Status
firefox51 --- affected

People

(Reporter: birtles, Unassigned)

References

()

Details

Attachments

(2 files)

Attached video Video of bug
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.
Flags: needinfo?(hiikezoe)
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.
It might be another issue though.
(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).
Bug 1311196 reminds me this bug. Now I think the root cause is the same as bug 1311196.
Flags: needinfo?(hiikezoe)
See Also: → 1311196, 1312307
Attached file Another sample
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.
See Also: 1311196, 1312307
P5 as this only reproduces in debug builds.
Priority: -- → P5
I can still see the issue on Android. Let's see if this is fixed by bug 1486278.
See Also: → 1486278
Depends on: 1495350
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.

Attachment

General

Created:
Updated:
Size: