什么是 FPS?一份可复现的帧率入门指南
了解 FPS 测量的是什么、它与刷新率和帧时间的关系,以及如何在不把浏览器测试误当成游戏基准的情况下获得可比较的结果。

每秒帧数(FPS)表示应用或浏览器在一秒钟内产生了多少个画面。它是理解运动流畅度的重要指标,但不是一个可以单独代表质量的分数。浏览器动画、游戏引擎和视频文件都可能显示 FPS,却在测量不同的环节。判断结果时,还要同时考虑显示器能以多快的速度刷新,以及每一帧是否按稳定的间隔到达。
FPS 到底测量什么
FPS 是一个速率。测试显示 60 FPS,通常意味着被测动画在采样期间每秒产生约 60 次更新;它不能证明某款游戏一定能保持 60 FPS,也不能证明每一帧都在完全相同的时间到达,更不能自动说明显示器正在以 60Hz 工作。
下面的数值只能作为大致参照:
- 24 FPS 常见于电影,镜头运动和运动模糊会影响观感。
- 30 FPS 常见于视频和部分主机性能模式。
- 60 FPS 是桌面动画和许多游戏的实用基线。
- 120 FPS 及以上 在显示器和应用都支持时,可以改善运动清晰度和输入响应。
稳定的 60 FPS 可能比频繁掉帧的 90 FPS 更舒服。因此不要只看峰值或平均值,也要看帧时间图中的长帧和波动。
FPS、Hz 与帧时间的区别
FPS 描述应用产生画面的速度,Hz 描述显示器每秒能够刷新多少次。一台 144Hz 显示器可以每秒刷新最多 144 次,但如果浏览器只能产生 60 FPS,就没有 144 个新画面可以显示。相反,60Hz 屏幕也不会因为应用渲染超过 60 FPS 就变成 144Hz。
帧时间是产生一帧所需的毫秒数,近似关系为:
帧时间(ms) = 1000 / FPS
60 FPS 约等于每帧 16.67ms,120 FPS 约等于 8.33ms,144 FPS 约等于 6.94ms。如果偶尔出现 100ms 的长帧,即使平均值很高,画面仍然可能明显卡顿。
浏览器 FPS 测试如何工作
FPS Checker 使用浏览器的 requestAnimationFrame API。浏览器会在下一次重绘前调用回调,工具在一段时间内统计回调次数,同时记录相邻帧之间的间隔。因此,结果反映的是当前浏览器渲染路径,包括显示器刷新节奏、浏览器调度、硬件加速、系统负载和本页面的动画工作量。
浏览器通常会暂停或降低后台标签页的动画频率,所以测试时必须让标签页保持在前台。MDN 的 requestAnimationFrame 文档说明了这种同步行为,以及为什么动画应使用浏览器提供的时间戳。
如何得到可比较的结果
- 每次使用相同的电源模式;比较笔记本时分别记录插电和电池结果。
- 开始前确认操作系统的显示刷新率和分辨率。
- 关闭下载、视频播放、远程会议、录屏和持续运行的重型标签页。
- 保持测试标签页可见,先等待几秒让数据稳定。
- 记录平均 FPS、最低 FPS、最差帧时间以及图表中的尖峰。
- 至少重复三次,每次只改变一个变量,例如浏览器或硬件加速。
如果多次结果差异很大,应报告范围和测试条件,而不是只挑最高的一次。这样得到的是可复现的比较,而不是无法验证的宣传数字。
测试结果不能说明什么
浏览器测试不是游戏基准测试。游戏引擎还会处理场景模拟、资源加载、着色器编译、分辨率缩放和自己的帧 pacing。设备可能在轻量浏览器动画中表现很好,却在大型游戏中受限;也可能因为扩展、驱动或省电模式而在浏览器测试中得分较低。
这个工具也不测量端到端输入延迟、显示器响应时间、色彩准确度,或脱离应用的 GPU 性能。要诊断具体游戏,应使用游戏内帧率和帧时间叠加层;要测量显示器硬件,则需要合适的校准设备。
常见结果的排查方向
- 高刷新率显示器始终显示约 60 FPS: 检查系统刷新率、线材或转接器、浏览器硬件加速和页面是否被限制。
- 平均 FPS 很高但肉眼有卡顿: 查看帧时间图;重复长帧通常与后台任务、温度、驱动或省电设置有关。
- 不同浏览器结果不同: 这是正常的,应固定窗口大小、缩放、扩展和系统负载后再比较。
- 手机运行几分钟后下降: 温度和电池管理可能降低持续性能,应记录测试时长。
你可以先运行 FPS 测试,再把浏览器、显示器、分辨率和电源模式写进测试记录。这样读者才能理解这个数字适用于什么场景。
记录时还可以注明窗口是否全屏、浏览器是否开启硬件加速,以及测试持续了多久。浏览器会受到系统合成器和当前页面内容的影响,因此不同设备之间只有在这些条件相近时才适合直接比较。若要分析游戏性能,应在同一游戏场景中使用游戏内工具,并把浏览器测试结果作为显示和浏览器管线的补充信息,而不是替代品。
如果测试过程中切换标签页、锁定屏幕或打开省电模式,回调频率可能暂时下降。遇到这种情况,重新开始一次完整测试,并在结果中说明这些条件,结论会比单纯写一个 FPS 数字更可靠。