With lots of layers this can be very slow as it always traverses the entire layer tree. We should track which branches actually have changes.
Created attachment 307124 [details]
Created attachment 307125 [details]
Comment on attachment 307125 [details]
View in context: https://bugs.webkit.org/attachment.cgi?id=307125&action=review
Nice, I always wanted to do this.
> + if (ancestorCA.m_hasDescendantsWithUncommittedChanges)
> + return;
> + ancestorCA.m_hasDescendantsWithUncommittedChanges = true;
I would prefer you go through a setter and not poke the member variable directly.
Created attachment 307197 [details]
Re-opened since this is blocked by bug 170876
Created attachment 307266 [details]
Enable the optimisation for Mac only for now.
Created attachment 307268 [details]
Comment on attachment 307268 [details]
Clearing flags on attachment: 307268
Committed r215410: <http://trac.webkit.org/changeset/215410>
All reviewed patches have been landed. Closing bug.
That's unfortunate. Do we understand the iOS issue?
I think so. I just wanted to do some more testing on iOS before enabling it.