[Webkit-unassigned] [Bug 12030] New: SVG PLT spends over 40% of its time in CGShading calls for SVGPaintServerGradient
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Dec 29 14:53:26 PST 2006
http://bugs.webkit.org/show_bug.cgi?id=12030
Summary: SVG PLT spends over 40% of its time in CGShading calls
for SVGPaintServerGradient
Product: WebKit
Version: 420+ (nightly)
Platform: Macintosh
OS/Version: Mac OS X 10.4
Status: NEW
Severity: Normal
Priority: P2
Component: SVG
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: macdome at opendarwin.org
SVG PLT spends over 40% of its time in CGShading calls for
SVGPaintServerGradient
CGShading is unfortunately quite inefficient. Hopefully with the coming
release of Leopard CG will have much improved shading support. Only the Apple
guys know what the future may hold in that area.
When you create a CGShading, you specify a function. As I understand it, the
first time a CGShading is used, it calls this function 1000 times (regardless
of destination size) and caches the color values. It then uses this cache for
drawing.
Unfortunately, currently we seem to be discarding the CGShading object from
SVGPaintServerGradient (and thus the color cache) far too often. Doing so,
results in this incredible slowdown to the PLT.
Again, hopefully a future release of Mac OS X will resolve this CGShading
performance issue (by caching less!) or offer us an improved stop-based API
(the current API is function based). Until that time, we will have to do our
best to aggressively cache CGShading objects in SVGPaintServerGradient, and
work around this slowness.
I believe WildFox may already have a patch to address some of this issue.
--
Configure bugmail: http://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the webkit-unassigned
mailing list