NyxBoost下载

为什么 FPS 很高,游戏却仍然卡顿?如何找到原因

帧数计数器显示 FPS 很高,画面却还是一顿一顿的。问题通常不在平均 FPS,而在少数耗时很长的帧。本文解释两者的区别,并给出在 FPS Lab 中可重复的测量方法。

均匀的帧 平均值相同,但有一帧很长

简短回答

平均 FPS 表示平均每秒输出多少帧。卡顿则是某一帧的耗时远远超过前后的帧。几帧这样的长帧几乎不会改变平均值,但眼睛能察觉到。所以要看帧时间和 1% low,并通过对同一场景的多组测量来找原因,每两组之间只改变一项。

平均 FPS 与帧时间

60 FPS 时每帧平均耗时 16.7 毫秒(1000 ÷ 60)。如果几乎每帧都是 16 毫秒,只有四帧是 46 毫秒,平均值仍然是 60 FPS,但在这四个时刻画面会停住将近三帧。下面是两次各 200 帧、平均值相同的运行。

教学数据 · 均匀运行:平均 60 FPS,1% low 58,卡顿 0 次 · 毫秒
均匀运行
教学数据 · 有卡顿的运行:平均 60 FPS,1% low 22,卡顿 4 次 · 毫秒
有卡顿

平均值完全相同,而 1% low 相差近三倍。在 NyxBoost 中,1% low 等于 1000 除以帧时间的第 99 百分位,也就是最慢的 1% 帧的 FPS。FPS Lab 还会统计卡顿:耗时超过中位数两倍、并且比中位数至少长 8 毫秒的帧。均匀运行中有 0 次,另一次运行中有 4 次。

长帧从何而来

  • 加载。游戏在编译着色器或从磁盘读取新区域。第二次经过同一场景时,这类卡顿往往会消失。
  • 后台任务。安装更新、杀毒扫描、Xbox Game Bar 后台录制、云同步。
  • 处理器。达到上限或降频:电源计划、笔记本的功耗限制、过热。
  • 帧的呈现。帧率限制、垂直同步和显示器刷新率搭配不当,会让节奏不均匀。

不必猜测是哪一种:测一下就知道。

在 FPS Lab 中的测量步骤

FPS Lab 是 NyxBoost 的免费功能。它的帧数据来自 Intel PresentMon,后者通过 Windows 事件跟踪(ETW)记录每一帧的呈现时间。首次测量时,NyxBoost 会从 Intel 官方页面下载 PresentMon 并校验文件。

  1. 打开“游戏”→“我的游戏”,在左侧选择游戏。FPS LAB 卡片在右侧最下方;游戏卡片上的“对比性能”按钮会滚动到它。
  2. 选择一个容易重复的场景:游戏内置基准测试、同一条路线或地图上的同一个位置。不要改动游戏的分辨率和画质:NyxBoost 不记录它们,需要你自己保持一致。
  3. 选择“更改之前”,选好“测量时长”(默认 60 秒),启动游戏,到达场景后点击“测量”。用“停止”中断的运行不会保存。
  4. 至少重复三次:运行次数更少时,FPS Lab 不会比较两组数据。
  5. 只做一项更改,例如关闭 Game Bar 后台录制或切换电源计划。
  6. 选择“更改之后”,在同一场景再运行三次。
两组之间只改一项是最重要的规则。如果同时更换驱动、电源计划和游戏设置,即使差异真实存在,也无法知道是哪一项起了作用。

如何解读结果

  • 更快或更慢。只有当所有“之后”的运行都比所有“之前”的运行更快(或更慢)时,FPS Lab 才认定有差异。否则结论是“在误差范围内”:差异小于各次运行之间的波动。
  • “两组数据不可比”。说明条件发生了变化:笔记本有时用电池、有时接电源,换了显卡驱动,运行时长不同,测量前处理器占用超过 30%,或者同一组内电源计划和设置有改动。请重新测两组。
  • 平均值不变,1% low 提高了。这就意味着卡顿变少了,即使角落里的计数器没变。
  • 卡顿依旧。这项更改与你的问题无关。把它恢复(NyxBoost 的每项设置都有“撤销”),再测试下一个猜想。

每次测量下方,FPS Lab 都会给出分析:根据数据判断是什么在限制帧率、可信度如何,以及还有哪些其他解释。

下一步

从成本最低的猜想开始:后台录制、电源计划、游戏模式。哪些因素真正影响 FPS、哪些不影响,请看综合指南。每个猜想单独测一组,只保留 FPS Lab 认定有差异的更改。

本文涉及的设置

更多文章

下载 NyxBoost