Simple raphael.js animation which uses “animation.repeat” eats 100% cpu

不羁岁月 提交于 2019-12-24 20:26:19

问题


Check this Code

window.onload = function(){
var paper = Raphael(0,0,1000,1000);

var path1 = "M67,100 C67,180 200,180 200,100 C190,095 177,095 167,100 C157,105 143,105 133,100 C123,095 110,095 100,100 C90,105 77,105 67,100z";    
var path2 = "M67,100 C67,180 200,180 200,100 C190,105 177,105 167,100 C157,095 143,095 133,100 C123,105 110,105 100,100 C90,095 77,095 67,100z";  
var bowl = paper.path(path1).attr({"fill":"black"});

var anim = Raphael.animation({
"50%" : {path:path2},
"100%" : {path:path1}
},1000);

bowl.animate(anim.repeat(Infinity));  
};

After letting it run for a while the CPU usage climbs up to 100%. Can anyone explain why? How can I avoid this?


回答1:


I solved the problem by making two functions and using callbacks to call each other , thus creating an infinite loop.

I suppose anim.repeat(Infinity) was going on creating many copies of the animations, thus slowing down the CPU.



来源:https://stackoverflow.com/questions/16925541/simple-raphael-js-animation-which-uses-animation-repeat-eats-100-cpu

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!