NEW89899
Don't collect non-self-painting subtree in RenderLayer's normal flow list
https://bugs.webkit.org/show_bug.cgi?id=89899
Summary Don't collect non-self-painting subtree in RenderLayer's normal flow list
Julien Chaffraix
Reported 2012-06-25 11:47:10 PDT
Following bug 88888, we don't walk the non-self-painting subtree as an optimization. We could go one step further and don't collect them altogether. That should save some memory and remove some of the explicit checks that we have during painting. This also means that the optimization from bug 88888 would apply more broadly - it is an all-or-nothing optimization - as we will only walk the needed layer subtree. One of the points to be careful with is that the compositing code requires to know if there are any non-composited visible descendant. Because non-self-painting layers are normal flow and cannot be composited, this is just a matter of storing when we skip one in our parent.
Attachments
Proposed change v1. (32.17 KB, patch)
2012-06-25 14:29 PDT, Julien Chaffraix
no flags
Julien Chaffraix
Comment 1 2012-06-25 14:29:42 PDT
Created attachment 149359 [details] Proposed change v1.
Eric Seidel (no email)
Comment 2 2012-08-12 03:54:44 PDT
I'm interested in this. We should discuss this in the office this week and get this landed.
Eric Seidel (no email)
Comment 3 2012-08-15 16:39:32 PDT
The change looks fine to me. I would like to better understand the justification for it. Is this a perf win? You mentioned this uses less memory? How much? Maybe just some simple printf() + wc debugging on a couple of popular pages to judge the effect?
Eric Seidel (no email)
Comment 4 2012-08-15 16:39:57 PDT
You have my r+ as soon as you justify the change.
Julien Chaffraix
Comment 5 2012-10-17 15:31:09 PDT
Comment on attachment 149359 [details] Proposed change v1. Clearing the review flag until I can answer Eric's valid performance question.
Note You need to log in before you can comment on or make changes to this bug.