美文网首页
【前端性能】Web 动画帧率(FPS) 计算

【前端性能】Web 动画帧率(FPS) 计算

作者: jia林 | 来源:发表于2023-07-28 17:26 被阅读0次

FPS,是 frames per second 的缩写,也就是一秒渲染了多少帧的画面。对于浏览器来说,通常 fps 为 60。
FPS = 一秒的帧数 / 1s

主要都是利用了requestAnimationFrame,使浏览器在下次重绘之前执行回调

1.使用requestAnimationFrame结合performance
const times = []; // 存储当前的时间数组
let fps;
function refreshLoop() {
  window.requestAnimationFrame(() => {
    const now = performance.now(); // 使用performance.now()能获取更高的精度
    while (times.length > 0 && times[0] <= now - 1000) {
      times.shift(); // 去掉1秒外的时间
    }
    times.push(now);
    fps = times.length;
    refreshLoop();
    console.log(fps);
  });
}

refreshLoop();

2 使用requestAnimationFrame
var before,now,fps;
before=Date.now(); // 仅对获取当前日期+时间有用。 不适用于测量时间跨度。
fps=0;
requestAnimationFrame(
    function loop(){
        now=Date.now();
        fps=Math.round(1000/(now-before));
        before=now;
        requestAnimationFrame(loop);
        console.log("fps",fps)
    }
 );

相关文章

  • 2017-12-26

    requestAnimationFrame 一、流畅的web动画 Web 动画帧率(FPS): 每秒钟画面更新的次...

  • Web动画性能介绍

    在谈动画性能之前,先介绍一些概念。 帧率(FPS) 帧率(FPS):描述每秒播放的帧数,单位为 Hz 或者 fra...

  • iOS性能(一) UI优化

    帧率-FPS UI的性能主要的体现就是帧率(Frames Per Second),当快速滚动页面时能够保持较高帧率...

  • 卡顿与帧率的关系

    结合关于帧率的一些知识点这篇文章,可以得出卡顿与帧率的一些关系. 帧率稳定,但过低时: 持续低于12fps时,动画...

  • OpenCV学习笔记(2):间隔截取视频帧

    1. 帧率 帧率(FPS):每秒钟播放的帧数 两种方法,上代码 2. 计算视频时长 1. 通过帧数间隔截取视频帧 ...

  • threejs性能优化手段

    Three.js控制渲染帧率(FPS) 如果场景有动画效果,就必须周期性执行.render()更新canvas画布...

  • VSyne 相关的概念

    帧率 即 Frame Rate,单位 fps,是指 gpu 生成帧的速率,如 33 fps,60fps,越高越好。...

  • 帧率FPS控制

  • iOS使用RunLoop监控线上卡顿

    原文地址 通过iOS性能优化 我们知道,简单来说App卡顿,就是FPS达不到60帧率,丢帧现象,就会卡顿。但是很多...

  • AsyncDisplayKit 教程:达到 60 FPS 的滚动

    AsyncDisplayKit 教程:达到 60 FPS 的滚动帧率 AsyncDisplayKit 教程:达到 ...

网友评论

      本文标题:【前端性能】Web 动画帧率(FPS) 计算

      本文链接:https://www.haomeiwen.com/subject/tgcdpdtx.html