Expand partial prerender ares as much as possible for cases where the tranformed rect is outside of the overflow area
Categories
(Core :: Graphics: Layers, enhancement, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox78 | --- | fixed |
People
(Reporter: hiro, Assigned: hiro)
References
Details
Attachments
(8 files)
390 bytes,
text/html
|
Details | |
411.64 KB,
video/webm
|
Details | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
3.84 KB,
text/html
|
Details | |
3.84 KB,
text/html
|
Details | |
3.85 KB,
text/html
|
Details | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review |
Attaching file has a transform animation "translateX(100%) -> translateX(0%)" on a large element (width: 200%, height: 100%). On the initial frame of the animation, the transformed rect is completely outside of the viewport, so it's collapsed in nsDisplayTransform::UntransformRect, thus when this transform animation runs on the compositor, we don't use the partial prerender size limit effectively.
I am going to attach the recording what happens with enabling layout.animation.prerender.partial.
Assignee | ||
Comment 1•5 years ago
|
||
The bottom window is the latest nightly, you can see white area at the right of the animating element.
The top window is a local build with fixing this issue.
Assignee | ||
Comment 2•5 years ago
|
||
Assignee | ||
Comment 3•5 years ago
|
||
Assignee | ||
Comment 4•5 years ago
|
||
Updated•5 years ago
|
Assignee | ||
Comment 5•5 years ago
|
||
Assignee | ||
Comment 6•5 years ago
|
||
Assignee | ||
Comment 7•5 years ago
|
||
This change will bring better results for continuous rotate animations.
For discontinuous rotate animations such as animations with step timing
functions this change might not bring better results but such kinds of
animations look originally janky, so it wouldn't be a problem at all.
Depends on D73404
Updated•5 years ago
|
Updated•5 years ago
|
Comment 9•5 years ago
•
|
||
Backed out 3 changesets (bug 1634616) for reftest failures at layout/reftests/transform/partial-prerender-expansion-rotate.html
Backout: https://hg.mozilla.org/integration/autoland/rev/ed1f0ce7f1cab2a4c004d6a24886a6b11b5df9e9
Failure push: https://treeherder.mozilla.org/#/jobs?repo=autoland&revision=53da1ae188f45a78d759445b2d6eaab9fe4d4919
Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=301874386&repo=autoland&lineNumber=30531
Updated•5 years ago
|
Assignee | ||
Comment 10•5 years ago
|
||
Looks like there appeared boundaries' lines of TiledLayer... I think it's a pre-existing issue. I am going to skip the reftest on Windows7.
Comment 11•5 years ago
|
||
What about just adding some fuzz for Windows 7 only? The rendering is pretty close.
Comment 12•5 years ago
|
||
Assignee | ||
Comment 13•5 years ago
|
||
(In reply to Timothy Nikkel (:tnikkel) from comment #11)
What about just adding some fuzz for Windows 7 only? The rendering is pretty close.
Huh, I missed your comment. Yeah, adding fuzzy value is an idea. I will try to reproduce the failure locally on Linux, and hope to find the failure reason (IIRC there is a preference value related to this kind of TiledLayer boundary case). Once I couldn't find the reason I will consider using fuzzy there. Anyway I will file a bug for this.
Comment 15•5 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/ca2b5b79e488
https://hg.mozilla.org/mozilla-central/rev/f17da81e3e57
https://hg.mozilla.org/mozilla-central/rev/1256cc14812b
Description
•