Raphael.js - 剧本看起来很轻,但执行很重 - 为什么?

时间:2012-05-25 20:54:43

标签: browser raphael repaint motion reflow

我在Windows XP上使用Raphael 2.01,Firefox 12.0。

我尝试过连续对象动画(不是动画补间动画)。我认为我的脚本负载很轻,但PC冷却风扇的声音会响亮!

我想知道原因和解决方案。

(步骤)

  • 我在文档上设置了几个圆形对象(5到10)。

  • 他们继续前进。当他们触摸文档的边缘时,它们返回(向相反方向移动),但它们的运动将减慢。

  • 当我在Google Chrome的任务管理器中检查PC的负载时, 内存使用量越来越大(40MB ===> 150MB ===> ......)

(脚本)

http://jsfiddle.net/JsL46/3/

* 抱歉。当我将代码粘贴到“jsfiddle”时,会出现圆形对象,但它们不会运行。

1 个答案:

答案 0 :(得分:0)

RaphaelJS使用传统的样式更改和偏移执行动画,这会导致很多和repaints and reflows。使用SVG SMIL animation可以减少浏览器的负担,例如left/right movement