[webkit-dev] Partial SVG repaint

Patrick Roland Gansterer paroga at paroga.com
Thu Oct 8 13:47:15 PDT 2009


> SVG was designed to support this, it's just not been turned on yet.
Can you please show me how i can turn it on. ;-) 

Currently i set a attribute in the SVG at ...
http://trac.webkit.org/browser/trunk/WebCore/svg/SVGRectElement.cpp#L101

.. this will shedule a layout via ..
http://trac.webkit.org/browser/trunk/WebCore/rendering/RenderObject.h#L882
http://trac.webkit.org/browser/trunk/WebCore/rendering/RenderObject.h#L976
http://trac.webkit.org/browser/trunk/WebCore/rendering/RenderObject.cpp#L2017
http://trac.webkit.org/browser/trunk/WebCore/page/FrameView.cpp#L1062

http://trac.webkit.org/browser/trunk/WebCore/page/FrameView.cpp#L985
http://trac.webkit.org/browser/trunk/WebCore/page/FrameView.cpp#L624
http://trac.webkit.org/browser/trunk/WebCore/rendering/RenderSVGRoot.cpp#L102
...
http://trac.webkit.org/browser/trunk/WebCore/rendering/RenderObject.cpp#L1166

... where the oldBounds and newBounds contain the coorect coordinates (at 
least for simple rects :).

But the damageRect is the whole frame size in
http://trac.webkit.org/browser/trunk/WebCore/rendering/RenderLayer.cpp#L2038


I use the Qt-Port. Maybe the dirtyRegion is only wrong there, but i don't 
think so because e.g. Safari shows the same performance problem.


> I'm not sure I would suggest such a change as your first change to WebKit 
though.  It could have lots of fallout. :)
I have a big perfromance problem with my dynamic SVG. So the only alternative 
is, that i create my own SVG renderer, which is not a real option.

Patrick


More information about the webkit-dev mailing list