[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