Bug 11163

Summary: Improve opacity performance by clipping to bbox before starting transparency layer
Product: WebKit Reporter: Eric Seidel (no email) <eric>
Component: SVGAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Blocker    
Priority: P4    
Version: 420+   
Hardware: Mac   
OS: OS X 10.4   
Attachments:
Description Flags
Pathological opacity test case
none
improve opacity performance
mjs: review+
Improved test case w/ timing information (click while beach-balling) none

Eric Seidel (no email)
Reported 2006-10-05 05:48:14 PDT
Improve opacity performance by clipping to bbox before starting transparency layer Calling beginTransparencyLayer() is slow, because it results in creating a new context the size of the current clip region. We can improve this performance by reducing the size of the current clip region to the smallest required size. This patch improves opacity performance in SVG.
Attachments
Pathological opacity test case (22.39 KB, image/svg+xml)
2006-10-05 05:50 PDT, Eric Seidel (no email)
no flags
improve opacity performance (5.33 KB, patch)
2006-10-05 05:51 PDT, Eric Seidel (no email)
mjs: review+
Improved test case w/ timing information (click while beach-balling) (22.54 KB, image/svg+xml)
2006-10-05 06:02 PDT, Eric Seidel (no email)
no flags
Eric Seidel (no email)
Comment 1 2006-10-05 05:50:27 PDT
Created attachment 10921 [details] Pathological opacity test case
Eric Seidel (no email)
Comment 2 2006-10-05 05:51:06 PDT
Created attachment 10922 [details] improve opacity performance
Maciej Stachowiak
Comment 3 2006-10-05 05:57:41 PDT
Comment on attachment 10922 [details] improve opacity performance r=me
Eric Seidel (no email)
Comment 4 2006-10-05 06:02:24 PDT
Created attachment 10923 [details] Improved test case w/ timing information (click while beach-balling) Pre-patch numbers are around 8000 on my machine. Post-patch, around 1500.
Mark Rowe (bdash)
Comment 5 2006-10-05 14:50:03 PDT
This patch was landed in r16802.
Note You need to log in before you can comment on or make changes to this bug.