We're currently issuing a glClear for all render surfaces except the root render surface. We should avoid issuing a glClear for opaque render surfaces.
Checking if a render surface is opaque is a bit annoying though. You'll need to merge all the opaque rects from its entire subtree. Will this work be < the work to clear?
(In reply to comment #1) > Checking if a render surface is opaque is a bit annoying though. You'll need to merge all the opaque rects from its entire subtree. Will this work be < the work to clear? That's hard to say as the glClear is done by the GPU while figuring out if we have to do the clear is of course not. I doesn't have to be perfect. Could we just use the opaqueness of the owning layer as a start?
Yeh I toyed with that idea as well. We can, when the owning layer drawsContents and its content size == the surface size.
https://code.google.com/p/chromium/issues/detail?id=231338