Bug 11120
| Summary: | RenderSVGContainer should cache absoluteTransform for performance | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Eric Seidel (no email) <eric> |
| Component: | SVG | Assignee: | Nobody <webkit-unassigned> |
| Status: | RESOLVED INVALID | ||
| Severity: | Normal | CC: | emacemac7, zimmermann |
| Priority: | P4 | ||
| Version: | 420+ | ||
| Hardware: | Mac | ||
| OS: | OS X 10.4 | ||
Eric Seidel (no email)
RenderSVGContainer should cache absoluteTransform for performance
Looking at a shark sample of a very large (30MB) SVG file, we're spending about 6% of our time in RenderSVGContainer::absoluteTransform(). We should cache the absolute transform on each RenderSVGContainer to get rid of this cost.
I'm not sure what the exact invalidation logic would look like. Changing the transform might need to cause a layout, I'm not sure. Your parent changing its transform should not need to cause you to re-layout however. Only redraw.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Nikolas Zimmermann
absoluteTransforms are not existant anymore in RenderSVG*Container, closing bug.