买了 144Hz 显示器,插上电脑,用着好像和以前也没什么区别。是自己感知不够敏锐,还是根本没跑满?
刷新率测试 打开就测,5 秒给出实测值。但更有价值的是测出来和标称不一致的时候——这不是工具不准,而是从系统设置到线材到浏览器合成器这条链路上,有一环没跑满。这篇讲清怎么定位是哪一环。
先分清刷新率和帧率
这两个词日常混用,排查问题时必须分开:
| 刷新率 | 帧率 | |
|---|---|---|
| 定义 | 显示器每秒重绘多少次 | 内容每秒实际产出多少画面 |
| 单位 | Hz | fps |
| 决定因素 | 面板能力 + 当前信号模式 | 渲染性能 |
| 是否可变 | 固定,或由 VRR 动态调节 | 随负载波动 |
两者的关系:
- 帧率 > 刷新率:多出来的帧被丢弃(开垂直同步)或造成画面撕裂(关垂直同步)
- 帧率 < 刷新率:同一帧被重复显示,表现为卡顿
本工具测的是刷新率,同时用掉帧数和按时出帧率反映渲染有没有跟上。
测量原理:为什么不能简单取平均
浏览器的 requestAnimationFrame 由显示器的垂直同步信号驱动,帧间隔的倒数就是当前渲染路径上的实际刷新率。听起来直接取平均就行,但有两个坑:
坑一:单次卡顿会把平均值整个拉偏。 一次 200ms 的系统卡顿,混进 300 个正常样本里,足以让平均值掉好几 Hz。
坑二:“总帧数 ÷ 总时长”会把掉帧误算成刷新率降低。 掉了一帧意味着这一次回调跨过了两个刷新周期——屏幕依然在 144Hz 刷新,只是浏览器没赶上其中一次。按总数除的话,这个区别就被抹平了。
工具的做法是:
1. 先用「中位帧间隔」确定基准周期 ← 中位数天然抗离群值
2. 把每个间隔还原成它实际跨过的周期数 ← 掉一帧记 2 个周期,而不是记一次慢帧
3. 偏离基准过大的样本整段丢弃 ← 排除切标签页、系统卡死这类污染
4. 累计周期数 ÷ 累计时长 = 结果 ← 长窗口累加
第 4 步的长窗口累加还有一个额外好处:天然规避了浏览器对 performance.now() 的精度削减。出于时序攻击防护,现代浏览器会把高精度计时器的分辨率降到几十到上百微秒,单帧测量误差不小,但累计几百帧之后这个误差被摊薄到可以忽略。
常见刷新率与帧时间对照
| 刷新率 | 帧时间 | 典型场景 |
|---|---|---|
| 60 Hz | 16.67 ms | 办公显示器、多数入门笔记本 |
| 90 Hz | 11.11 ms | 中端手机、部分平板 |
| 120 Hz | 8.33 ms | 旗舰手机、iPad Pro、ProMotion 屏 Mac |
| 144 Hz | 6.94 ms | 主流电竞显示器 |
| 165 Hz | 6.06 ms | 中高端电竞屏 |
| 240 Hz | 4.17 ms | 竞技电竞屏 |
| 360 Hz | 2.78 ms | 职业电竞 |
从 60Hz 到 144Hz,帧时间从 16.67ms 缩到 6.94ms,画面更新快一倍多。日常感知最明显的不是游戏,而是滑动网页、拖动窗口、移动鼠标指针时的连续感——这些操作里眼睛在追踪一个持续移动的目标,帧率不够时会看到明显的拖影和台阶。
四层排查,按顺序查
第一层 系统显示设置 ← 最高频,八成问题在这
第二层 线材 / 接口带宽 ← 静默降档,不报错
第三层 浏览器硬件加速 ← 最易误判,系统里仍显示 144Hz
第四层 电源 / 省电策略 ← 最隐蔽,插电正常拔电就掉
第一层:系统显示设置
绝大多数显示器出厂默认 60Hz,插上线不会自动跑满。
- Windows:设置 → 系统 → 显示 → 高级显示器设置 → 选择刷新率
- macOS:系统设置 → 显示器 → 刷新率
- 手机:一般没有手动档,但要关掉省电模式
改完立刻重测,数字应该马上跟着变。下拉框里根本没有高刷选项,说明信号链路不支持,进第二层。
第二层:线材与带宽
带宽不够时,系统会静默降到能跑的档位而不报任何错——这是最容易被忽略的一层。大致的能力边界:
| 接口 | 大致带宽 | 能跑到 |
|---|---|---|
| HDMI 1.4 | 10.2 Gbps | 4K@30、1080p@120 |
| HDMI 2.0 | 18 Gbps | 4K@60、2K@144 |
| HDMI 2.1 | 48 Gbps | 4K@120、8K@60 |
| DP 1.2 | 21.6 Gbps | 4K@60、2K@165 |
| DP 1.4 | 32.4 Gbps | 4K@120(需 DSC 压缩) |
| DP 2.0 / 2.1(UHBR) | 最高 80 Gbps | 4K@240、8K@120 |
重点怀疑对象:
- 显示器随机附送的短线(经常是 HDMI 1.4 时代的库存)
- Type-C 转 HDMI 的廉价转接头(芯片版本决定上限,和线无关)
- 三米以上的无源长线(信号衰减导致降速协商)
- USB-C 的 DP Alt Mode 通道数:同时跑 USB 3 数据时只剩两条通道,带宽直接砍半——这是笔记本外接扩展坞时高刷掉档的典型原因
第三层:浏览器硬件加速
关掉硬件加速后,浏览器退回软件合成,帧率被锁在 60 甚至更低——而系统显示设置里仍然显示 144Hz。这一层最容易误判,因为所有”官方数字”都是对的,只有实测掉下来。
Chrome / Edge:设置 → 系统 → 使用图形加速功能(改完需要重启浏览器)。
另外检查扩展:录屏、滤镜、护眼、广告拦截里带页面重绘的那类,都会插进合成链路拖慢帧。用无痕窗口(默认禁用扩展)测一次,是最快的对照实验。
第四层:电源与省电策略
这一层最隐蔽,因为它是动态的——插电时正常,拔电就掉:
- 笔记本拔掉电源后的节能策略
- 手机省电模式
- Safari 的低电量模式(把网页硬限到 30fps)
- Windows 的节电模式
测出 30Hz 左右基本可以直接归到这一层——没有任何显示器的物理刷新率是 30Hz,这个数字一定来自软件限帧。另一种可能是测试环境不对:在远程桌面、虚拟机、投屏软件里测到的是串流帧率,跟本机屏幕没关系。
可变刷新率:为什么数字一直在跳
如果实测值在 60 和 120 之间来回浮动,多半是 VRR 在工作:
| 技术 | 常见于 | 行为 |
|---|---|---|
| G-Sync / FreeSync | 电竞显示器 | 刷新率跟随渲染帧率,消除撕裂 |
| ProMotion | iPhone / iPad Pro / MacBook Pro | 内容静止时降到 24Hz 甚至更低 |
| LTPO | 旗舰手机 | 1Hz 到 120Hz 连续调节 |
这不是故障,是省电设计——屏幕是整机功耗大头,静态内容下降频能省下可观的电量。
工具在整个测量期间保持满负载动画,就是为了把这类屏幕推到峰值。想测得更接近峰值:全屏测(全屏时合成器路径更短)、接上电源、手机把亮度调高(部分机型低亮度下会限帧)。
五个指标怎么读
拿到结果之后,光看 Hz 是不够的:
| 指标 | 含义 | 参考线 |
|---|---|---|
| 刷新率 | 实测 Hz | 对上标称值 |
| 帧时间 | 一帧占用毫秒数 = 1000 ÷ Hz | 与刷新率互为倒数 |
| 按时出帧 | 赶上 vsync 的帧占比 | ≥95% 干净,<90% 有程序在抢资源 |
| 掉帧 | 采样窗口内漏掉的帧数 | 偶发一两帧正常 |
| 抖动 | 帧间隔的标准差 | 小于帧时间的 5%(144Hz 下约 0.35ms) |
| 1% 低帧 | 最差 1% 的帧折算成帧率 | 与平均值差距越小越好 |
抖动和 1% 低帧比平均值更贴近体感。同样测出 144Hz,抖动 0.1ms 是丝滑,抖动 2ms 是”数字好看但用着发涩”;平均 144 而 1% 低帧只有 40,说明存在周期性的卡顿源——后台程序、垃圾回收、散热降频都可能是元凶。
测量环境的三条注意
- 测的是浏览器窗口当前所在的那块屏。多显示器用户要把窗口整个拖到另一块屏再重测。
- 窗口跨在两块屏之间时结果不可信——合成器要同时对齐两个 vsync,掉帧会明显增多。
- 不要切走标签页。后台标签的
requestAnimationFrame会被浏览器压到 1Hz 甚至完全暂停,工具检测到切换会直接作废并重测。
高刷到底值不值
参数表说服不了眼睛。工具里的拖影对比跑道把 30Hz、60Hz 和你屏幕的原生刷新率并排放,同样的方块横向移动,眼睛跟着追:
- 30Hz 跑道:明显的台阶感,文字完全糊掉
- 60Hz 跑道:连续但有拖影,文字勉强能辨认
- 原生跑道:拖影明显收窄,文字清晰度提升
关键在于”眼睛跟着动”——盯着屏幕一个固定点看时,三条跑道的差别小得多。这也解释了为什么高刷的收益在滑动、拖动、转视角这类操作上最明显,而看静态网页时几乎无感。
相关的几个”新设备到手先验一遍”
- 屏幕亮点暗点:坏点检测 全屏纯色轮换,一分钟验完
- 鼠标跟不跟得上高刷:鼠标练习 顺带看回报率和精度,原理见 鼠标精度:费茨定律、DPI 与回报率
- 屏幕物理尺寸标定:在线尺子
总结
- 实测值低于标称本身就是诊断信息,说明高刷没有真正生效,不是工具不准
- 四层排查按顺序走:系统设置 → 线材带宽 → 浏览器硬件加速 → 省电策略,八成问题在第一层
- 带宽不够是静默降档,不会报错;USB-C 同时跑数据时通道减半是外接扩展坞掉档的典型原因
- 数字一直跳多半是 VRR,全屏 + 接电源能测到更接近峰值的值
- 30Hz 一定是软件限帧,没有物理刷新率是 30Hz 的显示器
- 抖动和 1% 低帧比平均 Hz 更贴近卡顿体感,三项都过才算真顺滑