layerization on google slides is bad
Categories
(Core :: Graphics: WebRender, defect)
Tracking
()
People
(Reporter: jrmuizel, Assigned: nical)
References
(Depends on 3 open bugs, Blocks 1 open bug)
Details
Attachments
(7 files, 2 obsolete files)
26.98 KB,
text/html
|
Details | |
1.95 KB,
text/html
|
Details | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
2.00 KB,
text/html
|
Details | |
541 bytes,
text/html
|
Details | |
782 bytes,
text/html
|
Details | |
What we would like the layerization to be like for a test case equivalent to the "Just the SVG one".
42.21 KB,
text/html
|
Details |
We're getting a bunch of layerization because of will-change: opacity;
. This causes all of the parent opacity/transforms to become active as well.
Reporter | ||
Comment 1•3 years ago
|
||
Reporter | ||
Comment 2•3 years ago
|
||
Chrome also layerizes but I haven't been able to figure out if it does a better job
Reporter | ||
Comment 3•3 years ago
|
||
We're getting an overdraw of about 2.5x here. It looks like non-WebRender would probably get something similar.
Reporter | ||
Comment 4•3 years ago
|
||
This reduced test case shows a problem that we have that causes extra layerization. The rough structure o the page is:
<svg>
<rect area=lots id=A>
<g transform>
<rect area=lots id=B>
<g style="will-change: opacity">
<text>Mobile</text>
</g>
</g>
</svg>
The will-change: opacity
forces the <g transform>
to be active which prevents rect A
and rect B
from being merged into the same layer.
I looked a bit into what Chrome does for layerization but there seem to be bugs so I'd like those fixed or understood first.
Updated•3 years ago
|
Assignee | ||
Comment 5•3 years ago
|
||
The goal of the GroupingState struct is to allow a followup patch to recursively group while keeping track of the item range, so that we can make better grouping decisions.
In addition there's an armada of builders and helpers passed everywhere through the various functions involved. Putting them in the Builders struct simplifies that a bit.
Updated•3 years ago
|
Assignee | ||
Comment 6•3 years ago
|
||
This attempts to make the grouping logic recursive so that we can make an item active without making it's parent active.
Part of the challenge is that determining the proper item range isn't enough for the painting code to do the same traversal.
Assignee | ||
Comment 7•3 years ago
|
||
Reporter | ||
Comment 8•3 years ago
|
||
More readable than before
Assignee | ||
Comment 9•3 years ago
|
||
Assignee | ||
Comment 10•3 years ago
|
||
Updated•3 years ago
|
Assignee | ||
Comment 11•3 years ago
|
||
Comment 12•3 years ago
|
||
Comment on attachment 9269057 [details]
Bug 1739295 - Adjust reftest expectations. r=#gfx-reviewers
Revision D141846 was moved to bug 1686654. Setting attachment 9269057 [details] to obsolete.
Updated•11 months ago
|
Description
•