Closed
Bug 1076271
Opened 11 years ago
Closed 3 years ago
Bad jank in bespoke.js presentation
Categories
(Core :: Graphics, defect)
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: gal, Unassigned)
References
()
Details
When transitioning between pages in the presentation below there is some weird jank and distortion towards the end of the animation when things settle down.
Additional observations:
Enabling paint flashing shows that we paint the final state a few times, which probably causes the jank itself.
Enabling OMTA removes the jank and distortion (one of the final frames we render seems to have a wrong transform, this disappears with OMTA).
When rendering with OMTA I am seeing a weird subpixel aliasing effect. Basically we seem to render the last few frames with a different sub-pixel alignment than the last one. The space between and width of characters changes with the very last frame subtly.
This looks like a loot of fun bugs to look at here.
Comment 1•11 years ago
|
||
The repaint on the very last frame is expected, that's when we transition from an active layer to an inactive one and often causes minor visual differences.
All the crazy jumps before that are hard to explain though :)
| Reporter | ||
Comment 2•11 years ago
|
||
Matt, why don't we just send a message to the compositor to composite the active layer on top of the background layer and then update the layer tree to dispose of the now inactive layer buffer. Why are we repainting?
Comment 3•11 years ago
|
||
A bunch of reasons, the biggest is probably that we don't have code for that at the moment.
If the active layer wasn't rendered at exactly the final resolution then we get a quality increase by repainting it directly into the background. If the active layer required component alpha, then the text quality is still lower than what we can do with a repaint, since we don't have gamma correction for component alpha shaders. I guess these both fall into the generic 'quality' bucket.
Comment 4•11 years ago
|
||
For the case where we know the final transform (which we should here, since it's using animations), and there's no component alpha then we should probably do the flattening in the compositor like you suggest.
| Reporter | ||
Comment 5•11 years ago
|
||
Milan, we should schedule work on this. Clearly some bugs here in addition to the improvements.
Comment 6•11 years ago
|
||
The difference between OMTA and MTA - bug 980770 tracks turning OMTA on by default, but I also had conversations with David on "some things are not consistent between MTA and OMTA, we should clean that up" - is there a bug for that?
Matt, do we have a bug for the feature described in comments 2 and 4?
Flags: needinfo?(matt.woodrow)
Flags: needinfo?(dbaron)
| Reporter | ||
Comment 7•11 years ago
|
||
Turning on OMTA seems to hide some bug in the MTA code. We should definitely debug that.
(In reply to Milan Sreckovic [:milan] from comment #6)
> The difference between OMTA and MTA - bug 980770 tracks turning OMTA on by
> default, but I also had conversations with David on "some things are not
> consistent between MTA and OMTA, we should clean that up" - is there a bug
> for that?
The known issues are dependencies of bug 980770.
Flags: needinfo?(dbaron)
| Reporter | ||
Comment 9•11 years ago
|
||
Do we understand the cause for the jank/distortion in this test case?
Comment 10•11 years ago
|
||
Having both -moz-transform and transform isn't causing a problem?
| Reporter | ||
Comment 11•11 years ago
|
||
Shouldn't. One should win. The other should be ignored.
Comment 12•11 years ago
|
||
(In reply to Andreas Gal :gal from comment #9)
> Do we understand the cause for the jank/distortion in this test case?
Not yet, no.
I had a look at this yesterday and didn't make any progress.
The interpolation and rendering code should be identical with/without OMTA, it's just the code driving the timer that changes. All the interpolation percentages that we use without OMTA seem fine though.
Flags: needinfo?(matt.woodrow)
Updated•3 years ago
|
Severity: normal → S3
Comment 13•3 years ago
|
||
This performs great now. Sadly, this demo still has other problems.
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → WORKSFORME
Comment 14•3 years ago
|
||
Things are janky with sw-wr: https://share.firefox.dev/3IyBoL7
Comment 15•3 years ago
|
||
(In reply to Mayank Bansal from comment #14)
Things are janky with sw-wr: https://share.firefox.dev/3IyBoL7
This bug is old and full of outdated analysis, I think new bugs should be filed for sw-wr.
You need to log in
before you can comment on or make changes to this bug.
Description
•