[webkit-help] SVG animation problems.

Patrick East patricke at bsquare.com
Tue Dec 27 16:04:48 PST 2011


Hello,

I'm having trouble getting SVG animation to work correctly. It seems as though non-animated svg is working correctly, but when attempting an animation test page it is a blank screen that sometimes flashes. It looks like the timers, the svg attribute updating, and repaint flow are all working correctly.

We are using the WinCE port, in the virtual pc we are able to view svg animation alright, but on the hardware we don't.

Has anyone run into something like this before? Is there some sort of minimum frame rate that svg animations require to work correctly?

When updating the svg attribute we see:
void SMILTimeContainer::timerFired(Timer<SMILTimeContainer>*)    // timer call back
                                   |
         void SMILTimeContainer::updateAnimations(SMILTime elapsed)
                                   |
         void SVGAnimateElement::applyResultsToTarget()
                                   |
         void SVGAnimationElement::setTargetAttributeAnimatedValue(const String& value)
                                   |
         void Element::setAttribute(const AtomicString& name, const AtomicString& value, ExceptionCode& ec)
                                   |
         void SVGElement::attributeChanged(Attribute* attr, bool preserveDecls) // the svg element attribute changed event
                                   |
       void SVGRectElement::svgAttributeChanged(const QualifiedName& attrName) // svg rect element for instance
                                   |
         void RenderPath::setNeedsPathUpdate() and void RenderPath::setNeedsLayout(true);
    so when layout timer started, RenderPath::layout would be called.



When repainting we see our normal windows flow of:

WebCore::ChromeClient::invalidateContentAndWindow
                          ...
                         |
                          ...
         WebView::repaint
         VictoriaWebUIDelegate::webViewDidInvalidateRect
         CoreService::postEvent(EV_Paint...)
                          ...
                         |
                          ...
         WebView::paint
         openVgPaint
         FrameView::paint
                          ...
                         |
                          ...
         RenderPath::paint


Any help would be much appreciated!

Thanks,

Patrick East
patricke at bsquare.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-help/attachments/20111228/39239c4b/attachment.html>


More information about the webkit-help mailing list