CSS rotation animation jitters
Categories
(Core :: Graphics: WebRender, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr78 | --- | unaffected |
firefox85 | --- | unaffected |
firefox86 | --- | verified |
firefox87 | --- | verified |
People
(Reporter: nayinain, Assigned: gw)
References
(Regression)
Details
(Keywords: regression)
Attachments
(3 files)
590 bytes,
text/html
|
Details | |
427.95 KB,
video/webm
|
Details | |
48 bytes,
text/x-phabricator-request
|
pascalc
:
approval-mozilla-beta+
|
Details | Review |
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:87.0) Gecko/20100101 Firefox/87.0
Steps to reproduce:
- Open the
testcase.html
Actual results:
Icons rotate jitter.
Expected results:
Icons rotate smoothly.
Regression window:
2021-02-05T00:12:04.708000: INFO : platform_buildid: 20210119200209
2021-02-05T00:12:04.708000: INFO : platform_changeset: e2cc4497cada527659f40f95ebd2424c18e3cec6
2021-02-05T00:12:04.708000: INFO : platform_repository: https://hg.mozilla.org/integration/autoland
2021-02-05T00:12:04.708000: INFO : platform_version: 86.0a1
2021-02-05T00:12:27.778000: INFO : Narrowed integration regression window from [0d5d7994, cfdebb86] (3 builds) to [0d5d7994, e2cc4497] (2 builds) (~1 steps left)
2021-02-05T00:12:27.786000: DEBUG : Starting merge handling...
2021-02-05T00:12:27.786000: DEBUG : Using url: https://hg.mozilla.org/integration/autoland/json-pushes?changeset=e2cc4497cada527659f40f95ebd2424c18e3cec6&full=1
2021-02-05T00:12:27.786000: DEBUG : redo: attempt 1/3
2021-02-05T00:12:27.786000: DEBUG : redo: retry: calling _default_get with args: ('https://hg.mozilla.org/integration/autoland/json-pushes?changeset=e2cc4497cada527659f40f95ebd2424c18e3cec6&full=1',), kwargs: {}, attempt #1
2021-02-05T00:12:27.791000: DEBUG : urllib3.connectionpool: Resetting dropped connection: hg.mozilla.org
2021-02-05T00:12:29.641000: DEBUG : urllib3.connectionpool: https://hg.mozilla.org:443 "GET /integration/autoland/json-pushes?changeset=e2cc4497cada527659f40f95ebd2424c18e3cec6&full=1 HTTP/1.1" 200 None
2021-02-05T00:12:29.700000: DEBUG : Found commit message:
Bug 1687409 - Use offscreen surface for backface visibility + non-preserve3d stacking contexts r=nicalRemoves another case of pass through pictures, by handling the rare
case of a stacking context with backface-visibility: false that is
not part of a 3d rendering context as an offscreen surface.Differential Revision: https://phabricator.services.mozilla.com/D102251
2021-02-05T00:12:29.700000: DEBUG : Did not find a branch, checking all integration branches
2021-02-05T00:12:29.701000: INFO : The bisection is done.
2021-02-05T00:12:29.702000: INFO : Stopped
Updated•5 years ago
|
Comment 3•5 years ago
|
||
Set release status flags based on info from the regressing bug 1687409
![]() |
||
Comment 4•5 years ago
|
||
Glenn, that patch removed the use of pass-through pictures for some cases. Does it affect this case? If I understand correctly, you are trying to remove them so that we can re-organize the render task graph. In this case, wouldn't this cause extra overhead for rendering into an intermediate picture? I wonder if the jittering is just the result of us doing it slower than before.
Assignee | ||
Updated•5 years ago
|
Comment 5•5 years ago
|
||
Bug 1691188 is a similar looking bug.
Assignee | ||
Comment 6•5 years ago
|
||
I can reproduce with the attached test case, thanks. Investigating today, and it does sound likely that whatever causes this is also the same as https://bugzilla.mozilla.org/show_bug.cgi?id=1691188 and https://bugzilla.mozilla.org/show_bug.cgi?id=1689910
Assignee | ||
Comment 7•5 years ago
|
||
The pushlog found by mozregression has two changes (https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=0d5d7994edd462a194a00773922ef7b9471fa273&tochange=e2cc4497cada527659f40f95ebd2424c18e3cec6).
https://phabricator.services.mozilla.com/D102244 appears to be the patch that caused the regression - this makes more sense since the other patch mentioned above should only affect stacking contexts with backface visibility flags set, which is not the case for this test case.
It seems that the snapping behavior is different with this change - still investigating.
Assignee | ||
Comment 8•5 years ago
|
||
In bug 1687394, the semantics of requested_raster_space
were
changed to only take effect when an intermediate surface was
created.
However, this causes a regression to snapping with text runs
that are animated on the root surface (such as loading spinner
glyphs).
To fix that, while also keeping the functionality of the previous
patch (removing a source of pass-through pictures), there is now
a stack of requested raster space pushed and popped for each
stacking context. This is read and stored by text runs during
scene building, ensuring that these animated glyphs select the
correct raster space to avoid snapping / jittering bugs.
Comment 10•5 years ago
|
||
Could you start a try build (if that hasn't happened yet, I am not familiar with the Mozilla workflow) so that I can test the patch to see if it also fixes bug 1689910? I could also try to build locally, but that would take at least 2 hours if it doesn't run out of memory because I only have 4 GB RAM.
Comment 11•5 years ago
|
||
What platform do you need? There is a try push here
https://treeherder.mozilla.org/jobs?repo=try&revision=10cfe3bfbd168c09560e33b7f2bce7ca4766f243
Click on the build type you want, click artifacts on the bottom and scroll until you find target.zip/target.dmg/target.tar.bz2
Comment 13•5 years ago
|
||
(In reply to Timothy Nikkel (:tnikkel) from comment #11)
What platform do you need? There is a try push here
https://treeherder.mozilla.org/jobs?repo=try&revision=10cfe3bfbd168c09560e33b7f2bce7ca4766f243
I tested it on Linux x86-64, it also fixes bug 1689910.
Comment 14•5 years ago
|
||
![]() |
||
Comment 15•5 years ago
|
||
bugherder |
Assignee | ||
Comment 17•5 years ago
|
||
Do we know if this problem exists in beta?
It looks like the regression was introduced after the last beta merge, but the merge dates are close, so maybe it is a problem in beta?
If it exists in beta, we should definitely uplift.
Comment 18•5 years ago
|
||
I see bug 1691188 in beta.
Comment 19•5 years ago
|
||
I see this bug and the duplicates in the current beta (86.0b8).
Assignee | ||
Comment 20•5 years ago
|
||
Comment on attachment 9201698 [details]
Bug 1690835 - Fix animation jitter regression.
Beta/Release Uplift Approval Request
- User impact if declined: Jittering animations on loading spinners etc for the majority of our users.
- Is this code covered by automated tests?: No
- Has the fix been verified in Nightly?: Yes
- Needs manual test from QE?: Yes
- If yes, steps to reproduce: With the included test case in the bug.
- List of other uplifts needed: None
- Risk to taking this patch: Low
- Why is the change risky/not risky? (and alternatives if risky): The patch is relatively simple, and fixes a very noticeable visual regression.
- String changes made/needed:
Assignee | ||
Updated•5 years ago
|
Comment 21•5 years ago
|
||
Comment on attachment 9201698 [details]
Bug 1690835 - Fix animation jitter regression.
Approved for 86 beta 9, thanks.
Assignee | ||
Comment 23•5 years ago
|
||
The patch here applies cleanly on beta if we also uplift https://bugzilla.mozilla.org/show_bug.cgi?id=1687604, which is mostly a refactoring patch but also a slight performance optimization.
Would it be reasonable to uplift both of those? The rebase is a bit tricky to do cleanly, but I can manually try to merge them if we don't want to uplift both patches.
Updated•5 years ago
|
Updated•5 years ago
|
Comment 24•5 years ago
|
||
I was able to reproduce the issue on Firefox 87.0a1 (2021-02-04) under Ubuntu 20.04 using the testcase in Comment 0.
The issue is fixed on Firefox 87.0a1 (2021-02-10). Tests were performed on Ubuntu 20.04, macOS 10.15.7 and Windows 7.
Will verify this in beta as well as soon as it will be uplifted.
Comment 25•5 years ago
|
||
bugherder uplift |
Comment 26•5 years ago
|
||
Verified on 86.0b9 and the issue is fixed. Tests were performed on Ubuntu 20.04, macOS 11.2.1 and Windows 7
Updated•5 years ago
|
Description
•