[Webkit-unassigned] [Bug 30055] Bad DOM performance in large SVG files

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Oct 30 12:45:26 PDT 2009


https://bugs.webkit.org/show_bug.cgi?id=30055





--- Comment #14 from Patrick R. Gansterer <paroga at paroga.com>  2009-10-30 12:45:26 PDT ---
(In reply to comment #12)
> Ok, I'm not able to reproduce the slowness you mention about clicking on the
> 3rd or 4th rect in http://paroga.com/webkit/rect.php?c=10000&s=3.
I can't believe you! ;-) I now compiled r50334 with the Qt-port (4.6 beta) on
windows and tested the following patch (with g_checkIntersect true and false):
>  if (paintInfo.context->paintingDisabled() || style()->visibility() ...)
>          return;
> 
> +    FloatRect boundingBox = repaintRectInLocalCoordinates();
> +    if (g_checkIntersect && !boundingBox.intersects(paintInfo.rect))
> +        return;
> +
>      paintInfo.context->save();
>      paintInfo.context->concatCTM(localToParentTransform());
>  
>      SVGResourceFilter* filter = 0;
>  
> -    FloatRect boundingBox = repaintRectInLocalCoordinates();
>      if (paintInfo.phase == PaintPhaseForeground) {
>          PaintInfo savedInfo(paintInfo);
When I open http://paroga.com/webkit/rect.php?c=80000&s=3 with g_checkIntersect
= true it takes about 2 seconds to change the color of the first element. With
g_checkIntersect = false the same action takes about 10 seconds on my machine.

Maybe the rendering/clipping isn't as time-consuming with your port? Is it
possible that you try it with the Qt-port? When i apply this patch to WebCore
it can't be a Qt-specific rendering problem?!?

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list