使用animate快速svg高cpu使用率

时间:2015-05-26 14:20:51

标签: javascript svg snap.svg

我正在使用snapsvg.js为使用Inkscape制作的SVG的某些svg对象设置动画。 我希望这些svg对象无限循环(无限循环动画)

以下代码正常工作(循环动画有效)但CPU使用率非常高(80%)(在最新Chrome,Chrome 43中测试)

即使我在动画结束回调中删除了a1()的调用,CPU仍然非常高。

为什么snap svg正在消耗这么多CPU只是为了一点动画(我只翻译了3个小SVG对象)???

非常感谢你的帮助!

Eviral

function potionize()
{
    var s = Snap("#potionsvg");
    Snap.load("assets/img/potion.svg", function (f)
    {
        var g = f.select("g");
        g.click(click);
        s.append(g);

        var b1 = Snap.select('#b1');
        var b2 = Snap.select('#b2');
        var b3 = Snap.select('#b3');

        var a1 = function()
        { 
            b1.attr({transform: "t0 0"});
            b2.attr({transform: "t0 0"});
            b3.attr({transform: "t0 0"});
            b1.animate({'transform' : 't0 -110'}, 1100, mina.linear);
            b2.animate({'transform' : 't0 -150'}, 1500, mina.linear);
            b3.animate({'transform' : 't0 -200'}, 2100, mina.linear, a1);
        }

        a1();
    })
}

0 个答案:

没有答案