使用 vsynctester.com 测刷新率和输入延迟时,结果受哪些因素影响?

更新时间

vsynctester.com 的测量结果主要受四类因素影响:浏览器本身的 VSYNC 与计时实现、显示器与系统的刷新率设置、后台负载与扩展程序、以及测试参数的配置方式。网站页面明确提示 Chrome 存在 VSYNC 问题、Firefox 在 Windows 下的 VSYNC 是“broken”、Edge 和 IE 不支持高刷新率显示器,因此浏览器选择是第一位的干扰源。建议在相同浏览器、相同窗口状态下多次测试,并对比图表形态而不是只读单一数值。

浏览器类型与版本:最大的系统性偏差

网站首页对主流浏览器给出了明确判断:

浏览器 网站给出的说法 对测试的含义
Chrome 存在 VSYNC 问题,页面提供专门的 Chrome bug 测试(会切换到更大的 44MP 背景图) 测得的 VSYNC 偏移可能反映浏览器缺陷而非显示器状态
Firefox 计时器/VSYNC 等“hopelessly broken”,Windows 下 VSYNC 损坏,页面直接写“DO NOT USE” 不建议用 Firefox 的结果判断显示器或输入延迟
Edge / IE 不支持高刷新率显示器 高 Hz 显示器上结果不可信

这意味着:如果你在 Firefox 或 Edge 上看到异常图表,先不要归因于显示器或显卡。想验证 Chrome 的问题,可以使用页面提供的 Chrome bug 测试入口(触发大背景图加载),观察图表是否出现对应变化。

显示器刷新率设置与系统状态

测试的前提是显示器实际运行在你认为的刷新率上。操作系统里的刷新率设置、多显示器下各屏独立刷新率、以及笔记本的电源/性能模式,都会改变实际输出帧率,从而让图表中的帧间隔和偏移整体偏移。

页面提供 Display Hz Tester 和 Older Display Hz test 两个独立入口,可用来交叉核对系统报告的 Hz 与实测值是否一致。如果两者对不上,先排查系统刷新率设置,而不是继续解读 VSYNC 图表。

后台负载、扩展程序与窗口状态

VSYNC 测试依赖 requestAnimationFrame 的时序精度,任何抢占主线程的因素都会污染结果:

  • 其他标签页的动画、视频播放、大型页面渲染
  • 浏览器扩展注入的脚本
  • 系统级后台任务(下载、索引、录屏)
  • 窗口被遮挡或最小化时,浏览器会降低 rAF 频率

页面本身提供了压力测试选项(背景图 MP 数、每帧滚动像素、丢帧比例等),这些选项的设计意图就是主动制造负载、观察图表如何劣化。反过来说,做基线测量时应关闭这些压力项,保持单一变量。

测试参数配置对读数的影响

页面可调参数较多,配置不当会让图表“看起来有问题”:

  • Custom Hz(1–500)与 skew ms(0–25):手动指定目标刷新率与时序偏移,用于模拟特定条件;不设定时以实际显示为准。
  • spin wait(1–9 ms)与 setTimeout 上限(9–50 ms):影响计时精度,spin wait 越长计时越精确但越占 CPU。
  • Odd/Even frame pre-delay、post-delay(0–20 ms):人为插入帧延迟,用于观察图表响应。
  • Drop 1 in every N frames(1–200):主动丢帧,用于验证图表能否识别丢帧。
  • Mouse input lag indicator frames(0–9):控制鼠标延迟指示的帧数窗口。

做“我的显示器/浏览器是否正常”的判断时,应保持这些参数为默认或最小干扰状态;做压力验证时再逐项开启,并记录每项开启后图表哪条曲线发生变化。

图表怎么读:对比形态而非单一数值

页面图表包含多条曲线:VSYNC 指示、按 rAF 时间的 vsync 偏移(紫色)、锁定“late”的帧偏移(蓝色)、帧间隔(绿/红)、渲染时间(棕色)、spin-wait(灰色),右侧为毫秒刻度(1–100)。

判断结果是否可靠的方法:

  1. 连续测试多次,看同一曲线的形态是否稳定复现;
  2. 帧间隔曲线(绿/红)应基本平直,频繁红点说明存在丢帧或调度抖动;
  3. 偏移曲线若呈规律性锯齿,可能是浏览器 VSYNC 实现问题;若呈随机大幅跳动,更可能是后台负载;
  4. 换一个浏览器重复同样操作,对比差异是否与网站列出的浏览器缺陷描述一致。

单一数值(如某个瞬时偏移)不足以说明问题,多次测试下的曲线一致性才是可用的证据。