Gecko generates WebRender display lists with many equivalent ClipChains
Categories
(Core :: Graphics: WebRender, defect, P3)
Tracking
()
People
(Reporter: jimb, Unassigned)
References
(Depends on 1 open bug, Blocks 1 open bug)
Details
The WebRender display lists generated by Gecko contain many ClipChains that are equivalent. On a reasonably complex page, the number of distinct chains is typically around a quarter of the total chains generated. This may make more work for WebRender.
I analyzed webrender display list captures on several pages (nytimes, wikipedia), and checked the contents of Clip
and ClipChain
display items, as well as ScrollFrame
items, which generate an implicit clip.
I think this is probably due to mozilla::layers::ClipManager
throwing away its mappings from DisplayItemClipChain
s to WebRender clip chains too willingly.
Reporter | ||
Comment 1•4 years ago
|
||
This bug is concealing bug 1678108 (DisplayItemCache
reuses display items it should not): fixing this bug makes that bug cause reftest failures. DisplayItemCache
ignores cache entries if the clip chain id differs, and this bug causes clip chain ids to differ gratuitously, so the stale cache entries caused by that bug happen not to get used.
On the bright side, this bug is probably also causing a lot of perfectly valid DisplayItemCache
entries to get ignored as well, so fixing this should improve the cache's effectiveness.
Updated•6 months ago
|
Description
•