NEW 80877
Avoid allocating huge layers for an element with a positioned child outside of its bounds
https://bugs.webkit.org/show_bug.cgi?id=80877
Summary Avoid allocating huge layers for an element with a positioned child outside o...
Simon Fraser (smfr)
Reported 2012-03-12 13:37:06 PDT
In compositing scenarios like the one in the screenshot, we should put the gray box into its own layer, since it sits far outside of its parent, and backing store usage would be much lower that way.
Attachments
Interactive testcase (5.34 KB, text/html)
2012-03-12 18:15 PDT, Simon Fraser (smfr)
no flags
Screenshot (30.55 KB, image/png)
2012-07-26 17:02 PDT, Simon Fraser (smfr)
no flags
WIP patch (4.86 KB, patch)
2012-07-29 17:36 PDT, Simon Fraser (smfr)
no flags
Simon Fraser (smfr)
Comment 1 2012-03-12 18:15:50 PDT
Created attachment 131480 [details] Interactive testcase
Simon Fraser (smfr)
Comment 2 2012-07-26 17:02:25 PDT
Created attachment 154792 [details] Screenshot
Simon Fraser (smfr)
Comment 3 2012-07-28 20:02:55 PDT
This is proving hard to fix. I have a patch, but it causes clip rect assertions. If we break apart a single compositing layer into multiple layers, then a layer RenderLayer B can have a parent, RenderLayer A, that is not its stacking context. When computing clip rects for A, it acts as the clipping root. When computing clip rects for B, we walk up through A, but are using a different clipping root. So we hit assertions.
Radar WebKit Bug Importer
Comment 4 2012-07-29 17:33:28 PDT
Simon Fraser (smfr)
Comment 5 2012-07-29 17:34:29 PDT
Simon Fraser (smfr)
Comment 6 2012-07-29 17:36:34 PDT
Created attachment 155189 [details] WIP patch
Simon Fraser (smfr)
Comment 7 2012-07-30 14:22:27 PDT
The clip rect assertion is present before this patch.
Note You need to log in before you can comment on or make changes to this bug.