RESOLVED FIXED 99741
Generate fewer repaint calls during subtree detaching
https://bugs.webkit.org/show_bug.cgi?id=99741
Summary Generate fewer repaint calls during subtree detaching
Julien Chaffraix
Reported 2012-10-18 11:48:54 PDT
Now that bug 98336 has landed, we can use the top-down implementation to avoid generating a repaint for each child removal. This is currently the case due to RenderObjectChildList::removeChild (see http://trac.webkit.org/browser/trunk/Source/WebCore/rendering/RenderObjectChildList.cpp#L75). This can work as we track the visual overflow during layout so the root's clippedOverflowRectForRepaint includes the children's overflow. There are some exceptions to that though: the example being positioned object way outside it's containing block's box as including them would yield to too overpainting.
Attachments
Proposed change: Don't repaint our removed children unless they have a RenderLayer and repaint the subtree root. (25.03 KB, patch)
2012-10-18 13:48 PDT, Julien Chaffraix
no flags
Julien Chaffraix
Comment 1 2012-10-18 13:48:20 PDT
Created attachment 169463 [details] Proposed change: Don't repaint our removed children unless they have a RenderLayer and repaint the subtree root.
Eric Seidel (no email)
Comment 2 2012-10-18 15:03:45 PDT
Comment on attachment 169463 [details] Proposed change: Don't repaint our removed children unless they have a RenderLayer and repaint the subtree root. LGTM. However mitz is the best repaint expert these days, and you may wish to engage him before landing on this and future repaint bugs (I see you have already CC'd him).
Julien Chaffraix
Comment 3 2012-10-26 02:03:41 PDT
Comment on attachment 169463 [details] Proposed change: Don't repaint our removed children unless they have a RenderLayer and repaint the subtree root. > LGTM. However mitz is the best repaint expert these days, and you may wish to engage him before landing on this and future repaint bugs (I see you have already CC'd him). The repaint experts are CC'ed and didn't scream so I assume the patch is not completely broken. I invited Dan to review this patch last week but haven't heard back.
WebKit Review Bot
Comment 4 2012-10-26 02:34:25 PDT
Comment on attachment 169463 [details] Proposed change: Don't repaint our removed children unless they have a RenderLayer and repaint the subtree root. Clearing flags on attachment: 169463 Committed r132591: <http://trac.webkit.org/changeset/132591>
WebKit Review Bot
Comment 5 2012-10-26 02:34:29 PDT
All reviewed patches have been landed. Closing bug.
WebKit Review Bot
Comment 6 2012-10-26 04:35:56 PDT
Re-opened since this is blocked by bug 100499
Julien Chaffraix
Comment 7 2012-10-26 05:20:30 PDT
New Chromium baselines landed in http://trac.webkit.org/changeset/132626.
Note You need to log in before you can comment on or make changes to this bug.