RequestAnimationFrame最小延迟?

时间:2014-05-20 14:33:51

标签: javascript animation requestanimationframe

因此,requestAnimationFrame()被认为是在使用高强度动画时不会导致浏览器挂起的最佳做法,但低强度动画呢?

我没有秒针动画一个钟面,所以动画不需要每5秒左右更新一次(因为没有明显的变化)比这更小的增量)。如果还有其他负载发生,我是否还应该使用requestAnimationFrame()让浏览器推迟动画?或者,对于像时钟指针这样的慢速/小变化动画来说,setInterval()仍然是最好的旧版本?

我目前正在做类似的事情:

setInterval(function() {
  requestAnimationFrame(clockTick);
}, 5000);

像这样嵌套这两个人是否有点过分了?

1 个答案:

答案 0 :(得分:0)

我网站的一项功能是您的“概述”页面会自动更新。但是,因为我添加了requestAnimationFrame,所以只有在您查看标签本身时才会更新。

这意味着用户可以浏览其他网站,然后当他们回到我的网站时,他们会立即看到更新发生。一些用户称赞这个功能非常酷。

需要注意的重要一点是,这是setTiemout而不是setInterval。使用setIntervalrequestAnimationFrame将导致大量更新操作排队等待下一个aniation框架。

然而,在这样的情况下,可能不值得使用requestAnimationFrame - 事实上,如果有人在半小时后回来看到你的时钟显示与以前相同的时间,它甚至可能会产生负面影响在它更新到新的时间之前...当我打开屏幕时,我的手机会这样做,这是令人讨厌的XD所以真的,这是一个逐案决定。