使用“animation.repeat"的简单 raphael.js 动画吃 100% cpu [英] Simple raphael.js animation which uses "animation.repeat" eats 100% cpu
本文介绍了使用“animation.repeat"的简单 raphael.js 动画吃 100% cpu的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
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));
};
让它运行一段时间后,CPU 使用率攀升至 100%.谁能解释为什么?我怎样才能避免这种情况?
After letting it run for a while the CPU usage climbs up to 100%. Can anyone explain why? How can I avoid this?
推荐答案
我通过制作两个函数并使用回调相互调用解决了这个问题,从而造成了无限循环.
I solved the problem by making two functions and using callbacks to call each other , thus creating an infinite loop.
我想 anim.repeat(Infinity)
会继续创建动画的许多副本,从而降低 CPU 的速度.
I suppose anim.repeat(Infinity)
was going on creating many copies of the animations, thus slowing down the CPU.
这篇关于使用“animation.repeat"的简单 raphael.js 动画吃 100% cpu的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文