Bug 21510

Summary: REGRESSION: Patterns are recreated every time they paint
Product: WebKit Reporter: Eric Seidel (no email) <eric>
Component: DOMAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: pdr
Priority: P1 Keywords: NeedsReduction, Regression
Version: 528+ (Nightly build)   
Hardware: Mac   
OS: OS X 10.5   
Bug Depends on:    
Bug Blocks: 21498    

Description Eric Seidel (no email) 2008-10-09 15:07:23 PDT
Patterns are recreated every time they paint

This is is a possible perf regression from the previous behavior where patterns were cached based on CTM over in the Canvas2dGraphicsContext object.  Now that they're over on GraphicsContext we don't have a similar system for caching (yet).  This bug is about building one so that we aren't recreating patterns every time we draw them.
Comment 1 Eric Seidel (no email) 2008-10-09 15:10:35 PDT
Btw, one way to solve this would be to simply roll out r35966, but given that we've had no complaints of poor canvas pattern drawing performance, and no performance tests to validate that we've actually regressed, I recommend we leave this code in for now.
Comment 2 Eric Seidel (no email) 2008-10-09 19:30:10 PDT
all functional regressions from r35966  (tracked by bug 21498) are now fixed.  Only this possible perf regression remains.
Comment 3 Dave Hyatt 2008-10-09 19:32:14 PDT
The way to typically observe pattern performance issues is with large JPEGs as the pattern tile.  This is how we noticed perf issues with creation/throwing stuff away in background tiling patterns in HTML.

Comment 4 Dave Hyatt 2008-10-09 19:33:41 PDT
Initial landing in r37462.

Comment 5 Dave Hyatt 2008-10-09 19:33:55 PDT
Wrong bug. Sorry.

Comment 6 Eric Seidel (no email) 2012-12-30 17:06:01 PST
I suspect this has long since been solved.