Bug 49135 - Optimize painting to avoid rendering areas that are completely obscured by other elements
Summary: Optimize painting to avoid rendering areas that are completely obscured by ot...
Status: ASSIGNED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC OS X 10.5
: P2 Normal
Assignee: Simon Fraser (smfr)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-11-06 16:54 PDT by Simon Fraser (smfr)
Modified: 2010-11-07 22:41 PST (History)
3 users (show)

See Also:


Attachments
WIP patch (7.55 KB, patch)
2010-11-06 17:16 PDT, Simon Fraser (smfr)
no flags Details | Formatted Diff | Diff
Patch (27.78 KB, patch)
2010-11-07 20:41 PST, Simon Fraser (smfr)
no flags Details | Formatted Diff | Diff
Patch (30.09 KB, patch)
2010-11-07 22:41 PST, Simon Fraser (smfr)
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Simon Fraser (smfr) 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.
Comment 1 Simon Fraser (smfr) 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.
Comment 2 Simon Fraser (smfr) 2010-11-07 19:59:59 PST
Comment on attachment 73180 [details]
WIP patch

Better patch coming.
Comment 3 Simon Fraser (smfr) 2010-11-07 20:36:52 PST
Didn't mean to mark fixed.
Comment 4 Simon Fraser (smfr) 2010-11-07 20:41:06 PST
Created attachment 73208 [details]
Patch
Comment 5 Simon Fraser (smfr) 2010-11-07 22:41:02 PST
Created attachment 73214 [details]
Patch