使用“animation.repeat"的简单 raphael.js 动画吃 100% cpu [英] Simple raphael.js animation which uses "animation.repeat" eats 100% cpu

查看:60
本文介绍了使用“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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆