Closed Bug 1429930 Opened 2 years ago Closed 2 months ago
Add scrolling support to blob image invalidation
We need to adjust the geometries and the clips.
2 years ago
Assignee: nobody → jmuizelaar
Priority: -- → P1
This should be working now. I'll confirm.
I'm pretty sure this was mostly fixed by bug 1458968. But we can probably still optimize scrolling some more.
To be clear, the outstanding work on this issue is to resolve this comment: https://searchfox.org/mozilla-central/source/gfx/layers/wr/WebRenderCommandBuilder.cpp#55-58 > //XXX: problems: > // - How do we deal with scrolling while having only a single invalidation rect? > // We can have a valid rect and an invalid rect. As we scroll the valid rect will move > // and the invalid rect will be the new area Basically if an svg spans the entire screen, content being added on one side and removed on the other creates a naive invalidation rect spanning the whole screen, even though it's really two small ones on each end.
We can't release this to the field, but we can let this ride to beta.
Priority: P1 → P2
Currently we subtract an offset from items during draw so that they end up in the right spot in the blob image. To fix this we need to move the offsetting of items from the content side to the rasterizer side. This means that our recorded items won't change their recordings as scrolling happens. This could be done by changing the blob size to a blob rect. i.e. include the offset to the origin. WebRender also needs to make sure that it can preserve the old contents across blob image resizes and that they are shifted appropriately.
Things seem to work well enough. I think we can ship without this.
Priority: P2 → P4
Status: NEW → RESOLVED
Closed: 2 months ago
Resolution: --- → DUPLICATE
Duplicate of bug: 1570081
You need to log in before you can comment on or make changes to this bug.