欢迎访问!

Office学习网

您现在的位置是:主页 > 网络技术

网络技术

如何获取web页面的帧率FPS1. 概述 大多数电脑显示

发布时间:2026-09-24网络技术评论
大多数电脑显示器的刷新频率是60Hz,大概相当于每秒重绘60次,多数浏览器都会对重绘操作加以限制,不超过显示器的刷新频率,因为即使超过显示器的刷新频率用户体验也不会有提

约16.6ms,。

大多数电脑显示器的刷新频率是60Hz,因此最平滑动画的最佳循环间隔时间1000ms/60,不超过显示器的刷新频率, 2. 方案对比requestAnimationFrame利用浏览器刷新频率来调度动画帧,确保动画帧的更新在每一帧之间的间隔是最佳的 setTimeout/setInterval 受限于定时器的精度和浏览器在不同设备上的性能差异 定时器的内在运行机制决定了时间间隔参数实际上只是指定了把动画代码添加到浏览器的UI线程队列中以等待执行的时间,因为即使超过显示器的刷新频率用户体验也不会有提升,多数浏览器都会对重绘操作加以限制,动画代码就要等前面的任务完成后再执行(等待执行的时间可能会比浏览器刷新频率的时间间隔大),大概相当于每秒重绘60次, 3. 实现(requestAnimationFrame)let timer = 0 ; let fps = 0 ; let fpsCount = 0 ; let fpsStartTime = performance.now() ; const calcFPS = () => { timer = window.requestAnimationFrame((time) => {const timeDiff = time - fpsStartTime ; if (timeDiff > 1000) { fps = Math.round(fpsCount * 1000 / timeDiff) ; fpsStartTime = time ; fpsCount = 0 ; console.log(`FPS: ${fps}`) ; // 打印到控制台 // 在这里添加导出fps逻辑// todo...} else {fpsCount++ ; } timer = window.requestAnimationFrame(calcFPS) ; })}calcFPS() ; // cancelAnimationFrame(timer) ; 4. 浏览器兼容性 ,如果队列前面已经加入了其他任务。

广告位

热心评论

评论列表