javascript - requestAnimFrame 或 setInterval 用于 Canvas 动画?

标签 javascript jquery html canvas

哪个最适合 Canvas 动画? requestAnimFrame 还是 setInterval?

最佳答案

requestAnimationFrame 保证您的动画在浏览器准备好绘制新帧时准确运行。如果您使用 setInterval,您将面临以下风险:

  • 将间隔设置得太短,在这种情况下,执行过于频繁且永远不会显示的绘制操作会耗尽电池生命周期
  • 使间隔太长,在这种情况下,您可以通过使用较短的间隔来获得更平滑的动画

requestAnimationFrame 可以在页面不可见时限制运行频率(这可以节省电池生命周期),但 setInterval 的某些实现也可以这样做(目前在Firefox 和 Chrome)。

requestAnimationFrame 是从头开始构建的,其目的是用于动画; setInterval 旨在执行任何需要定期操作的操作。如果您正在制作动画(尤其是 Canvas 动画),我建议使用 requestAnimationFrame,并为旧版浏览器回退到 setInterval

关于javascript - requestAnimFrame 或 setInterval 用于 Canvas 动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13841115/

相关文章:

php - 基于 PHP 和 jQuery 等开源的 Web 应用程序的含义

javascript - 如何使用仪表板在WordPress中插入iframe

javascript - 如何包装/嵌套使用 'this' 的 javascript 调用?

javascript - 使用 JavaScript 形成 Action

javascript - 魔术线宽度错误

html - 用户不应该能够选择已经选择的按钮

javascript - 在 div 的中心位置 p

javascript - 基础 4 + 轨道 slider : Can't control animation speed

javascript - 为什么我不能在函数开始时更改此按钮的文本?

html - 我如何使用 CSS 选择器来匹配存在的两个类?