Chrome repaints cause rebuilds of the entire browser scene
Categories
(Core :: Graphics: WebRender, enhancement, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox57 | --- | unaffected |
firefox58 | --- | unaffected |
People
(Reporter: jrmuizel, Unassigned)
References
(Blocks 2 open bugs)
Details
(Keywords: leave-open, Whiteboard: [wr-reserve])
Attachments
(2 files, 1 obsolete file)
(deleted),
patch
|
kats
:
review+
|
Details | Diff | Splinter Review |
(deleted),
patch
|
kats
:
review+
|
Details | Diff | Splinter Review |
Reporter | ||
Comment 1•7 years ago
|
||
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Comment 2•7 years ago
|
||
Updated•7 years ago
|
Updated•7 years ago
|
Updated•7 years ago
|
Reporter | ||
Comment 3•7 years ago
|
||
Comment 4•7 years ago
|
||
Comment 5•7 years ago
|
||
Comment 6•7 years ago
|
||
Comment 7•7 years ago
|
||
Comment 8•7 years ago
|
||
Comment 9•7 years ago
|
||
Comment 10•7 years ago
|
||
Comment 11•7 years ago
|
||
Comment 12•7 years ago
|
||
Comment 13•7 years ago
|
||
Comment 14•7 years ago
|
||
Comment 15•7 years ago
|
||
Comment 16•7 years ago
|
||
Comment 17•7 years ago
|
||
Updated•7 years ago
|
Comment 18•7 years ago
|
||
bugherder |
Reporter | ||
Updated•7 years ago
|
Updated•7 years ago
|
Updated•6 years ago
|
Reporter | ||
Updated•6 years ago
|
Updated•6 years ago
|
Reporter | ||
Updated•6 years ago
|
Reporter | ||
Updated•5 years ago
|
Comment 19•5 years ago
|
||
The leave-open keyword is there and there is no activity for 6 months.
:jbonisteel, maybe it's time to close this bug?
Reporter | ||
Updated•5 years ago
|
Reporter | ||
Updated•5 years ago
|
Updated•5 years ago
|
Comment 21•5 years ago
|
||
This is a bit hand-wavy, and needs more detail, but I think we can roughly say:
- Start traversal of the scene from the root pipeline id (as we do now).
- When we encounter an iframe element, we know that we create separate picture cache tiles for that pipeline.
- If we see that there is no new display list for that child pipeline (we know this already), we should be able to say that the picture cache tiles for that pipeline are valid, and skip recursing into the display list for that pipeline.
Even if the clips and/or visible part of the child pipeline change, just drawing with the existing frame builder should correctly determine which of those tiles need to be allocated / rasterized. Equally, if the animated transforms, opacity etc have changed, they will still be valid as we know the animation property IDs haven't changed.
There's probably some complexity related to how we retain certain parts of the frame builder while replacing other bits, which we don't currently handle. This might be a bit tedious to refactor, but doesn't sound too complex.
We'd probably also refactor how picture cache tiles are stored and retained, so that they hang off the data structures stored for each pipeline.
For the case where the content pipeline has changed, and not the parent pipeline, we could probably just pay the cost of traversing the parent scene, since it's typically very small relative to the content.
There's also a bit of complexity needed to ensure that child iframes of the content don't have new display lists. But we should be able to handle this by tracking iframe dependencies for each pipeline.
Comment 22•4 years ago
|
||
The leave-open keyword is there and there is no activity for 6 months.
:ktaeleman, maybe it's time to close this bug?
Comment 23•4 years ago
|
||
@Nical: does this need to be left open?
Comment 24•4 years ago
|
||
Yeah. Glenn hopes to be able to make scene building cheaper via more interning magic, It might become cheap enough that we can close this. Otherwise the solution is to do a lot of plumbing work so that the UI and page can be in separate "sub-scenes" that can built independently.
Updated•4 years ago
|
Updated•4 years ago
|
Comment 25•3 years ago
|
||
The leave-open keyword is there and there is no activity for 6 months.
:jimm, maybe it's time to close this bug?
Comment 27•2 years ago
|
||
The leave-open keyword is there and there is no activity for 6 months.
:gw, maybe it's time to close this bug?
For more information, please visit auto_nag documentation.
Updated•2 years ago
|
Updated•2 years ago
|
Description
•