屏幕帧率在线测试
用浏览器实时采样每一帧的间隔,算出真实帧率、1% Low FPS 和卡顿次数。手机打开就能测,不用装 App。所有计算在本地完成,数据不上传。
--
FPS 实时
--
平均 FPS
--
1% Low FPS
--
卡顿次数
| 已采样帧数 | 0 |
| 测试时长 | 0.0 秒 |
| 基准帧间隔(推算刷新率) | -- |
| 帧间隔中位数 | -- |
| 帧间隔 p95 | -- |
| 帧间隔 p99 | -- |
| 最长单帧 | -- |
点「开始测试」后保持页面在前台,跑 10 秒以上,这里会给出结论。
怎么判断是不是真掉帧
- 别看平均帧率。平均 FPS 会把偶发的顿挫完全抹平 —— 两段体验完全不同的画面,平均帧率可以都是 60。
- 要看 1% Low FPS,也就是最慢那 1% 帧的平均帧率。它越接近平均帧率,画面越稳。
- 要看帧间隔图里的孤立尖刺。如果绝大多数柱子都很矮,偶尔冒出一两根很高的红柱,那就是你肉眼感觉到的"顿一下"。
- 卡顿次数统计的是帧间隔超过基准值两倍的帧,这是判断掉帧最直接的指标。
为什么高刷屏会"看起来掉帧"
- 支持自适应刷新率的屏幕(苹果叫 ProMotion,安卓阵营常叫 LTPO 或动态刷新率)会在 10Hz 到 120Hz 之间自动切换:滑动时拉满,静止看文字时降到 10Hz 省电。
- 这是正常的,不是掉帧。区别在于:自适应降频的间隔变化跟着内容走、成段出现,而真掉帧是在稳定短帧里孤立地冒出一根长帧。
- 基准帧间隔 8.3 毫秒左右说明设备跑在 120Hz,16.7 毫秒左右则是 60Hz。
测出来偏低,先检查这几项
- 低电量模式:iOS 和安卓都会在高刷屏上强制锁到 60Hz,关掉再测。
- 系统里的帧率限制:iOS 在「设置 → 辅助功能 → 动态效果 → 限制帧速率」,安卓在显示设置或开发者选项里,可能被锁成 60Hz。
- 温度:设备过热会降频,凉下来再测一次做对比。
- 电池健康度:电池老化触发系统的性能管理后,峰值性能会被压低。
- 后台负载:正在下载、云备份、同步照片时,系统资源被占用。
常见问题
- 为什么测出来达不到标称的 120Hz?
先排除上面几项设置。另外浏览器本身也有上限:部分系统的浏览器会把页面渲染限制在 60Hz,即使屏幕支持更高。要测游戏或某个 App 的真实帧率,得用它自带的帧率显示或专业工具,本页测的是网页渲染帧率。 - iPhone 上有没有系统级的帧率悬浮窗?
没有。iOS 的 Metal Performance HUD 只对开发者自己安装的 App 生效,系统层面不提供全局帧率显示,这也是第三方"帧率悬浮窗"类 App 在 iOS 上普遍不准的原因。用本页在 Safari 里测是最省事的办法。 - 为什么切到别的 App 再回来,数据不动了?
浏览器在后台会暂停requestAnimationFrame回调,这是系统省电机制。测试时保持本页面在前台即可。 - 电脑和手机的数值能直接对比吗?
不能。不同设备屏幕刷新率不同、浏览器渲染管线也不同,数值只在同一台设备的不同状态之间对比才有意义,比如"开低电量模式前 vs 后"、"系统升级前 vs 后"。 - 数据会上传吗?
不会。这个页面没有任何后端接口,采样和统计全部由浏览器 JavaScript 完成,和本站其他工具一样,结果不会离开你的设备。