ToolAct工具行动

屏幕刷新率测试

检测显示器实际刷新率,测试高帧率性能

0 fps
当前帧率
-- Hz
估算刷新率
0
帧数统计
0
测试时长
测试模式
0fps
已停止
FPS 当前帧率

什么是屏幕刷新率?

屏幕刷新率表示显示器每秒更新画面的次数,单位是 Hz。60Hz 意味着每秒最多刷新 60 次,而 120Hz、144Hz、240Hz 等高刷新率在设备链路支持时,可以让滚动、动画、绘图和游戏画面更顺滑。刷新率测试用于确认显示器是否真的运行在预期频率,还是被系统设置、省电模式、线缆、转接头、显卡驱动或外接屏限制。测试结果需要结合环境判断,因为浏览器负载、后台任务和帧时间波动都可能影响读数。

使用方法

使用步骤

  1. 选择测试模式:弹跳球、滚动条纹、闪烁测试或UFO测试
  2. 点击'开始测试'按钮开始检测
  3. 观察动画流畅度和FPS值变化
  4. 等待几秒即可看到估算的刷新率结果
  5. 建议使用全屏测试以获得更准确的数据

测试技巧

  • 测试前请关闭其他动画密集的标签页;浏览器负载、省电模式以及外接显示器都可能影响测量的流畅度。
  • 将显示的 FPS 与操作系统或显卡控制面板中的显示器设置进行对比。

使用场景

通过动画帧估算显示器刷新率开始测试后收集 requestAnimationFrame 时间戳,计算当前 FPS,并估算最接近的常见刷新率,如 60、75、120、144、165、240 或 360 Hz。帧数和经过时间帮助判断采样是否运行了足够长的时间,因为 3 秒窗口的估算比页面加载后前 500 毫秒的结果干净得多。
使用多种运动模式发现卡顿在测试运行期间切换弹跳球、滚动条纹、闪烁帧和飞碟式运动。不同的模式以单一 FPS 数字无法呈现的方式让画面撕裂、抖动、运动清晰度和背光频闪(OLED 上的 PWM 调光)变得可见,这在外观相似的 144 Hz 和 165 Hz 面板之间做选择时非常有用。
观察帧率随时间的稳定性工具维护一个滚动的 FPS 历史记录,并在 canvas 图表上绘制,附带 60 Hz 参考线。这在对比显示器、浏览器标签页、电源模式、外接显示器或负载下的动画性能时很有用;保持测试标签页可见,因为后台节流可能在标签页失去焦点时将读数从 120 Hz 降至 30 fps 的上限。
检测可变刷新率显示器上的丢帧在弹跳球运行时观察 FPS 历史图表:FreeSync 或 G-Sync 显示器应在 LFC 范围内保持水平线稳定,而丢帧表现为低于参考线的凹陷。如果线条反复跳回 60 Hz,面板可能在热插拔事件、HDMI 1.4 线缆瓶颈或驱动覆盖后回落到了固定模式。
验证线缆、转接头和系统设置链如果估算的刷新率始终低于面板规格,请检查 HDMI 2.1、DisplayPort 1.4 或 USB-C Alt-Mode 线缆是否支持目标带宽,操作系统显示设置是否被锁定在较低刷新率,以及省电模式是否已禁用。浏览器后台标签页的节流也可能将结果限制在面板真实刷新率以下,即使 GPU 报告的数值并非如此。

技术原理

刷新率估算使用 requestAnimationFrame(t => ...),这是浏览器锁定到显示器垂直同步信号的回调。每次调用接收一个毫秒级的 DOMHighResTimeStamp;连续时间戳相减得到逐帧间隔,1000 除以这些间隔的运行均值得到以赫兹为单位的估算值。估算器收集数百帧以平滑瞬时卡顿,然后将结果取整到最近的常见面板刷新率:60、75、90、120、144、165、240 或 360 Hz。 测量结果受限于链路中最慢的环节。144 Hz 面板在操作系统显示设置锁定到 60 Hz 时仍读取为 60 Hz;HDMI 1.4 线缆无法承载所需带宽时(1080p @ 144 Hz 需约 7.6 Gbps,考虑色深后超出 HDMI 1.4 的 8.16 Gbps 余量)也会受限;GPU 驱动的省电策略同样会施加上限。可变刷新率技术(AMD FreeSync、NVIDIA G-Sync)允许面板在工作范围内保持任意刷新率,当内容帧率低于最低值时会启用低帧率补偿。 浏览器调度也会施加上限。当测试标签页失去焦点时,Chromium 和 Firefox 都会将 requestAnimationFrame 节流到约 1 Hz(Page Visibility 策略),即使标签页处于前台,交叉源隐藏 iframe 也可能被节流到约 30 fps。WebGL 和软件回退合成路径在 GC 暂停期间偶尔也会掉帧,因此要获得可靠读数,需要测试标签页处于前台、没有其他标签页播放全屏视频,且采样窗口至少 3 秒后再信任取整结果。

  • 采样:对 requestAnimationFrame 时间戳求差值;FPS = 1000 / 平均帧间隔(ms);估算器取整到 60/75/90/120/144/165/240/360 Hz 区间。
  • 带宽门槛:1080p @ 144 Hz 需约 7.6 Gbps,4K @ 120 Hz 需约 25 Gbps;顶级配置需要 HDMI 2.1(48 Gbps)或带 DSC 的 DisplayPort 1.4(32.4 Gbps)。
  • 操作系统/驱动限制:面板可能标称 144 Hz,但 Windows 显示设置或 NVIDIA 控制面板将其锁定在 60 Hz;rAF 不会超过合成器所获得的刷新率。
  • VRR(FreeSync / G-Sync):面板刷新率在其范围内浮动;低于 LFC 阈值时 GPU 会复制帧以保持亮度一致。
  • 标签页节流:Page Visibility 将后台标签页降至约 1 Hz;即使父标签页在前台,交叉源隐藏 iframe 也被节流到约 30 fps。
  • 采样窗口:低于 500 ms 的读数噪声较大;至少收集 3 秒且标签页处于前台,再取整到标准刷新率,以获得稳定估算。

示例

标准 60 Hz 办公显示器

模式:          弹跳小球
时长:          5 s
帧数:          298
当前 FPS:      59.6
估算刷新率:    60 Hz

2020 年以前的台式机和笔记本显示器大多被锁定在 60 Hz。

144 Hz 电竞显示器

模式:          UFO 测试
时长:          5 s
帧数:          718
当前 FPS:      143.6
估算刷新率:    144 Hz

电竞屏的典型表现;需要 DisplayPort 1.2+ 或 HDMI 2.0+,并在系统中将刷新率设为 144 Hz。

后台标签页限频

模式:          滚动条纹
当前 FPS:      30.0
估算刷新率:    30 Hz(被限频)

标签页失去焦点后,Chrome 和 Firefox 会把 requestAnimationFrame 限制到 ~30 fps,所以测试时务必保持该标签页可见。

常见问题

测试是怎么测量刷新率的?

通过 requestAnimationFrame() 统计每秒渲染了多少帧。浏览器在每次显示刷新时都会触发该回调,因此用帧数除以耗时即可得到实际刷新率。结果通常会落在常见数值附近(60、75、100、120、144、165、240 Hz)。

为什么测出来比显示器标称低?

常见原因有:节能模式压低了 GPU 频率;显示器线缆不支持标称刷新率(HDMI 1.4 在 4K 下最高 60 Hz,更高需要 DP 1.2+ 或 HDMI 2.0+);操作系统设成了 60 Hz;其他标签页占用主线程导致掉帧。

为什么 60 Hz 显示器测出的数值反而高于 60 Hz?

部分浏览器在最初几帧的 requestAnimationFrame 触发频率可能高于实际刷新率,尤其是在多显示器设置下,Chrome 可能采用了刷新率最高的那块屏幕。建议运行 10 秒以上以获得稳定读数。

刷新率和帧率(FPS)有什么区别?

刷新率是显示器每秒能显示的最大帧数;FPS 是你的应用每秒生产的帧数。两者相互独立:在 60 Hz 显示器上跑 200 FPS 的游戏,每秒仍只能显示 60 个独立帧(关闭 VSync 时还会出现撕裂)。

可变刷新率(G-Sync、FreeSync)会怎么样?

VRR 显示器会逐帧调整刷新率以匹配 GPU 输出。本页测出的是运行期间的平均刷新率;在 VRR 屏幕上,结果反映的是浏览器当前的渲染速率,而不是显示器的最大刷新率。

测试数据会保存或上传吗?

不会。测量完全在客户端完成,结果不会被记录或传输。

可以在窗口模式下测试,还是必须全屏?

都可以,但浏览器会限制后台标签页和失焦窗口的帧率以省电,往往降到约 1 fps。请保持标签页在前台运行测试,最好进入全屏,以获得准确结果。