[Webkit-unassigned] [Bug 10827] New: SVGPathElement should only build SVGPathSeg* tree on demand

bugzilla-daemon at opendarwin.org bugzilla-daemon at opendarwin.org
Tue Sep 12 15:51:24 PDT 2006


http://bugzilla.opendarwin.org/show_bug.cgi?id=10827

           Summary: SVGPathElement should only build SVGPathSeg* tree on
                    demand
           Product: WebKit
           Version: 420+ (nightly)
          Platform: Macintosh
        OS/Version: Mac OS X 10.4
            Status: NEW
          Severity: enhancement
          Priority: P3
         Component: SVG
        AssignedTo: webkit-unassigned at opendarwin.org
        ReportedBy: macdome at opendarwin.org


SVGPathElement should only build SVGPathSeg* tree on demand

Right now SVGPathElement, builds the SVGPathSeg tree while parsing.  Then using
the toPathData() method, it builds a WebCore::Path object from that tree (which
is used by the renderer).

The SVGPathSeg intermediaries are completely unnecessary however.  They're only
needed for the DOM interfaces (and possibly for animation).

I would propose that instead the String representation of the path (has held by
the attributes dictionary) is the authoritative version, and that toPathData()
build the WebCore::path directly from the string.  The SVGPathSeg list could be
later built from the WebCore::path or the String as needed.  the WebCore::Path
need not be built until the SVGPathElement is actually attached (a renderer is
created).  And the SVGPathSeg list need not be built until the relevant DOM
properties are accessed.

This would result in a very large speed increase for SVG rendering, as it would
get rid of thousands of mallocs associated with building the SVGPathSeg list.


-- 
Configure bugmail: http://bugzilla.opendarwin.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