Bug 49135

Summary: Optimize painting to avoid rendering areas that are completely obscured by other elements
Product: WebKit Reporter: Simon Fraser (smfr) <simon.fraser>
Component: Layout and RenderingAssignee: Simon Fraser (smfr) <simon.fraser>
Status: ASSIGNED    
Severity: Normal CC: hyatt, mitz, simon.fraser
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: OS X 10.5   
Attachments:
Description Flags
WIP patch
none
Patch
none
Patch none

Simon Fraser (smfr)
Reported 2010-11-06 16:54:20 PDT
Painting is currently back-to-front, even across iframe boundaries. That means that if an area of some foreground element is invalidated, we'll repaint everything behind it (potentially including expensive gradients, scaled background images etc) before painting the element itself. This could be optimized.
Attachments
WIP patch (7.55 KB, patch)
2010-11-06 17:16 PDT, Simon Fraser (smfr)
no flags
Patch (27.78 KB, patch)
2010-11-07 20:41 PST, Simon Fraser (smfr)
no flags
Patch (30.09 KB, patch)
2010-11-07 22:41 PST, Simon Fraser (smfr)
no flags
Simon Fraser (smfr)
Comment 1 2010-11-06 17:16:54 PDT
Created attachment 73180 [details] WIP patch This is a demonstration of how the optimization might work. If I tweak the test a little (make the iframe positioned), this makes some Peacekeeper tests 2-26% faster.
Simon Fraser (smfr)
Comment 2 2010-11-07 19:59:59 PST
Comment on attachment 73180 [details] WIP patch Better patch coming.
Simon Fraser (smfr)
Comment 3 2010-11-07 20:36:52 PST
Didn't mean to mark fixed.
Simon Fraser (smfr)
Comment 4 2010-11-07 20:41:06 PST
Simon Fraser (smfr)
Comment 5 2010-11-07 22:41:02 PST
Note You need to log in before you can comment on or make changes to this bug.