开发者社区> 问答> 正文

如何使用 requestAnimationFrame 来模拟 60 FPS 的动画,并计算每次调用的

如何使用 requestAnimationFrame 来模拟 60 FPS 的动画,并计算每次调用的时间间隔?

展开
收起
不吃核桃 2024-08-19 21:39:39 29 0
2 条回答
写回答
取消 提交回答
  • 可以使用以下代码在控制台执行,通过 requestAnimationFrame 循环调用一个函数,并使用 Date.now() 来计算每次调用的时间间隔,理论上这个时间间隔应该接近 16.7ms(即1秒/60帧):

    javascript
        let lastTime = 0; 
        const measure = () => { 
        const currentTime = Date.now(); 
        console.log(`${currentTime - lastTime}ms`); 
        lastTime = currentTime; 
        requestAnimationFrame(measure); 
        }; 
        measure();
    这段代码会不断在控制台输出每次调用 measure 函数的时间间隔,这个间隔应该接近 16.7ms,从而模拟 60 FPS 的动画效果。
    
    2024-08-20 10:57:06
    赞同 展开评论 打赏
  • 我们持续对 requestAnimationFrame 进行调用,那么每次调用的间隔应该在 16.7ms 左右,即满足我们对于页面流畅度 60 FPS 的要求,可以使用如下代码在控制台执行试试看:

    let lastTime = 0;const measure = () => {  console.log(`${Date.now() - lastTime}ms`);  lastTime = Date.now();  requestAnimationFrame(measure);};measure();
    

    ——参考链接

    2024-08-20 07:46:52
    赞同 1 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载