使用 requestAnimationFrame 控制 FPS
requestAnimationFrame 已成为平滑动画的首选方法,但有时会以不同的速度运行。这里有一个确保帧速率一致的技术:
Throttle requestAnimationFrame to a Specific FPS
此方法使用条件检查仅在指定 FPS 时执行动画代码间隔已过。
实现:
初始化变量:
开始动画:
动画循环:
绘图代码:
示例代码:
<code class="javascript">var stop = false; var frameCount = 0; var fps, fpsInterval, startTime, now, then, elapsed; function startAnimating(fps) { fpsInterval = 1000 / fps; then = Date.now(); startTime = then; animate(); } function animate() { requestAnimationFrame(animate); now = Date.now(); elapsed = now - then; if (elapsed > fpsInterval) { then = now - (elapsed % fpsInterval); // Put your drawing code here } }</code>
此方法可确保动画以指定的 FPS 运行,无论浏览器的渲染速度。
以上是如何使用 requestAnimationFrame 控制动画中的 FPS?的详细内容。更多信息请关注PHP中文网其他相关文章!