卡顿测试 – 测量帧时间一致性与卡顿

这项卡顿测试测量的是你的画面帧到达得有多均匀,而不只是它们有多少。一台显示设备可以报出很高的平均帧率,画面却依然显得不流畅,因为哪怕只有一帧姗姗来迟——甚至根本没有出现——都会打破运动的节奏。这种停顿就是卡顿(stutter),也叫 jank,即便平均数字看上去完美无缺,你的眼睛也能察觉到它。本测试让一个标记以固定步长每帧移动,并在下方绘出各帧之间的真实时间,把一种主观感受变成一个可供比较的数字。

Screen FPS (measured)
Expected frame time
Worst frame gap
Janks (late frames)
0

Speed

10 px/frame

流畅的运动取决于一致的帧时间。在 60 FPS 下,每 16.7 毫秒应出现一个新帧;在 120 FPS 下,则每 8.3。当某一帧花费了两三倍的时间,运动就会向前跳跃,再高的平均帧率也掩盖不了。

如何解读卡顿测试

测试会自动开始。有两样东西需要留意:

  • 顶部移动的标记。用眼睛跟随它。完全均匀的运动意味着帧时间稳定;任何你能感觉到的顿挫都是一次卡顿。
  • 下方的帧时间图。每一根竖条代表一帧所花费的时间。绿色条是健康的;红色条则越过了卡顿阈值——那条淡淡的线标出的是正常帧时间的 1.5 倍。高高的红色尖峰就是那些让人难受的帧。

这些卡片对本次运行进行了汇总。预期帧时间是你各帧之间的典型间隔;最差帧间隔是记录到的单次最长延迟;卡顿次数则统计每一个延迟帧。用重置计量器清空所有累计值,然后让测试运行一段时间,或者切换到其他标签页再切回来,看看你的系统在一段时间内的表现如何。

卡顿的成因

卡顿是渲染管线错过截止时间的一种症状。画面帧在离开你的电脑时就已经迟到,这发生在显示器介入之前。常见原因包括:

后台活动

另一个浏览器标签页、一次软件更新、一次病毒扫描,或者一个同步客户端,都可能瞬间抢走 CPU 时间,把某一帧挤过它的截止时间。成阵爆发、中间夹着长段安静的卡顿,通常意味着系统上有别的东西醒了过来。

GPU 与 CPU 负载

当显卡或处理器满负荷运转时,有些帧比其他帧需要更长时间才能构建完成。这在图上表现为一条粗糙、参差不齐的带子,而不是孤立的尖峰。关闭占用资源的应用程序,或者降低游戏的画质设置,就能把它抹平。

省电与热降频

处于省电模式的笔记本电脑,或任何变热的设备,都会有意放慢速度。帧率随之下滑,帧时间也开始飘忽。插上电源、改善散热,或切换到高性能电源计划,往往能立刻让时间稳定下来。

浏览器与合成器卡顿

布局重算、垃圾回收和繁重的脚本,都可能让渲染暂停一两帧。这正是为什么在相同的硬件上,同一个页面在一个浏览器里感觉流畅,在另一个浏览器里却卡顿。

平均帧率会掩盖卡顿

这正是本测试存在的核心原因。设想有一秒钟包含 118 个 8 毫秒的帧和两个 25 毫秒的帧。平均下来仍然大约是 120 FPS——一个看上去无懈可击的数字——然而那两个长帧却是肉眼可见的顿挫。帧时间视图能捕捉到它们;而一个取平均的帧计数器永远做不到。

指标它告诉你什么盲区
平均 FPS整体吞吐量掩盖孤立的延迟帧
帧时间(每帧)运动的节奏需要图表才能一眼看懂
卡顿次数运动被打断的频繁程度不说明每次顿挫有多严重
最差帧间隔最严重那次顿挫的严重程度只是单次事件,而非整体趋势

把这四项一起看,才能得到完整的画面。好的结果是:帧率高而稳定、卡顿次数低,且最差帧间隔接近预期帧时间。你可以在主 FPS 测试上交叉核对原始帧率,我们关于每秒帧数的概述则解释了为什么仅凭平均值是不够的。

如何减少卡顿

一旦计量器显示出问题,就逐一排查可能的成因:

  • 关闭后台负载。关掉多余的标签页,暂停更新或扫描,然后观察红色尖峰是否消失。
  • 让设备保持凉爽和供电充足。给笔记本电脑插上电源,设定高性能电源计划,并确保散热口通畅。
  • 让你的帧率与刷新率相匹配。不断越过刷新率的帧率会导致卡顿;一个稳定的上限往往更流畅。用我们的刷新率指南来确认你的刷新率。
  • 更新显卡驱动,并尝试换一个浏览器,以排除合成器方面的问题。
  • 排查显示器本身。如果这里的时间很干净,运动看起来却依然粗糙,那么面板可能在丢帧——用丢帧测试来检查它。

常见问题

我的 FPS 很高,但图上却出现红色尖峰。为什么?

因为平均帧率和帧一致性是两回事。少数几个延迟帧几乎不会撼动平均值,却清晰可见,在这里被计为卡顿。这恰恰是本测试为揭示而设计的情形。

一些卡顿是正常的吗?

偶尔出现一个孤立的尖峰,尤其是在页面刚加载完或你切换标签页之后,是正常的。而持续不断的红色竖条,或者达到预期帧时间数倍的最差间隔,则说明存在一个值得追查的真正问题。

卡顿是否意味着我的硬件太慢?

未必。后台活动、热降频、省电和浏览器卡顿,在性能足够的硬件上都会引起卡顿。在断定需要升级之前,先把这些逐一排查一遍。

这和画面撕裂有什么不同?

卡顿是一个时间问题——帧到达得太晚——所以整幅图像都会顿挫,但保持完整。撕裂则是一个同步问题,一帧被跨着一次刷新分割开来。关于那种情况,请看画面撕裂测试

怎样的卡顿次数才算好?

并没有单一的及格线,因为这取决于你把测试运行了多久,但一个健康结果的形态是清晰的:一旦页面稳定下来,卡顿次数应当缓慢上升甚至完全不涨,而最差帧间隔应当保持在预期帧时间大约一倍半以内。若卡顿次数每秒钟往上跳好几次,或者最差间隔达到预期数字的数倍,就意味着运动正在肉眼可见地被打断,而上面提到的某个成因正在作祟。

1% 低帧、微卡顿与帧节奏

评测者很少单凭平均帧率来判断流畅度。他们还会报告 1% 和 0.1% 低帧——即最慢的百分之一和千分之一那部分帧的帧率。这些数字描述的正是本测试所测量的东西:最糟糕的时刻,而非平均值。一款平均帧率很高但 1% 低帧很差的游戏会显得粗糙,就像这里一台帧率很高却频繁卡顿的显示设备一样。本页面上的卡顿次数和最差帧间隔,就是这些百分位低帧在浏览器里的对应物。

微卡顿(micro-stutter)是它一个更微妙的近亲。帧时间不是出现剧烈尖峰,而是交替变化——长、短、长、短——于是平均值看上去没问题,甚至连最差间隔也不算大,运动却让人感觉略微不匀。在帧时间图上,它表现为一条锯齿状的带子,而不是孤立的高尖峰。微卡顿通常源于不完美的帧节奏,即帧的产出速度快于它们能被均匀显示出来的速度;这也是为什么一个锁定的、节奏良好的帧率,看起来可能比一个更高却飘忽不定的帧率更流畅。

为什么限制帧率反而更流畅

这看似违反直觉,但限制你的帧率往往能改善运动的观感。一个不设上限、在比如 90 到 200 之间来回摆动的帧率,会不断改变帧时间,而这种波动是看得见的。把它锁定在一个你的系统始终能达到的稳定数值上,就能让每一帧都保持同样的长度,而这正是眼睛读作流畅的东西。如果本测试显示平均值很高、图却躁动不安,试着给喂给它数据的源头设一个上限,然后看着那条带子安定下来——稳定的每秒 100 帧,胜过平均 140 却忽上忽下。让你的帧率去匹配刷新率遵循的是同样的逻辑,而可变刷新率之所以帮助最大,是因为它让刷新去迁就每一帧,而不是强迫帧去等待。

随时间解读图表

单一的快照可能会误导人。让测试持续运行,留意其中的规律:每隔几秒爆发一次的红色,暗示着有一个定时执行的后台任务;帧时间缓慢地朝更长漂移,则提示热降频;而一条始终粗糙的带子,指向一个处于持续负载之下的系统。重置计量器,把安静的一分钟和繁忙的一分钟做对比——比如开着其他标签页,或者正在下载——就能把本测试变成一个简单的诊断工具,找出你机器上究竟是什么在偷走帧。

相关的显示与运动测试

帧一致性只是流畅运动的一部分。请继续使用这些配套工具: