
摘要:帧率高不等于不卡。本文从帧生成时间(Frametime)的底层原理出发,介绍如何使用游戏加加捕获帧时间数据,通过曲线分析定位CPU瓶颈与GPU瓶颈,解读1% Low FPS的真实含义,并提供一套可复现的游戏性能诊断流程。全文不涉及超频、不推荐硬件,仅聚焦数据分析方法。
打游戏时,左上角的FPS计数器显示120帧,数字很好看,但画面就是有一种说不出的「不跟手」和「顿挫感」。这种感知不一致,根本原因在于:平均帧率掩盖了帧时间的波动。
帧率(FPS)是一秒内渲染帧数的平均值。假设某一秒内,前900毫秒渲染了10帧(每帧90ms),后100毫秒突然渲了110帧(每帧不到1ms)——平均FPS仍然是120,但前900毫秒的体验是「幻灯片」,后100毫秒的流畅毫无意义。
FPS是一个「统计数字」,而帧时间(Frametime)才是玩家的真实体感。
帧时间指GPU渲染单帧所耗费的时间,单位是毫秒(ms)。它与帧率的换算关系为:
理想帧时间 = 1000 ÷ 目标帧率
目标帧率 | 理想帧时间 | 超时判定线 |
|---|---|---|
60 FPS | 16.67 ms |
|
144 FPS | 6.94 ms |
|
240 FPS | 4.17 ms |
|
关键不在于帧时间的绝对值高低,而在于帧时间的方差——即每帧之间的时间间隔是否稳定。专业测试中,通常用帧时间曲线图和P99/P99.9分位数来量化这种稳定性。
业界引进了两个衍生指标:
举个例子:某游戏平均FPS 90,但1% Low FPS只有35——意味着平均每100帧中就有1帧的渲染时间接近28.6ms,这种间歇性掉帧在快速转动视角时尤为明显。
游戏加加提供实时硬件监控面板,但默认显示的是瞬时FPS而非帧时间。需要调整配置以捕获可用于诊断的数据。
配置步骤:
500ms——过快的刷新率(100ms)会增加软件自身的CPU开销,干扰数据准确性。注意:部分游戏使用反作弊系统(EasyAntiCheat、BattlEye等),需要在游戏加加中手动将对应游戏加入白名单,或使用「兼容模式」注入。如果游戏启动后OSD不显示,先检查此项。
以下以《永劫无间》为例,演示完整的采集-分析流程。
Step 1:选择测试场景
选择游戏内固定的测试场景,而非随机匹配。推荐在「自由练习」模式中,沿固定路线跑动并释放技能,重复三次,取数据最稳定的一次。避免用实际对局数据——变量太多,无法归因。
Step 2:记录数据
启动游戏加加的日志记录功能(默认快捷键 Ctrl+F11),运行测试场景 3-5 分钟后停止记录。
Step 3:打开CSV日志
日志文件位于游戏加加安装目录下的 Logs 文件夹,文件名包含日期时间戳。用 Excel 或 WPS 打开后,核心关注以下列:
Time(s), FPS, GPU_Usage(%), GPU_Temp(°C), CPU_Usage(%), CPU_Temp(°C), RAM_Usage(MB), VRAM_Usage(MB)Step 4:计算帧时间并绘制曲线
在Excel中新建一列,输入公式 =1000/FPS所在列,得到每帧的渲染时间(ms)。以时间为横轴、帧时间为纵轴,插入折线图。
解读曲线时的三个信号:
「我的配置瓶颈在CPU还是显卡?」帧时间数据可以直接回答。
判断规则:
现象 | 结论 |
|---|---|
GPU使用率持续 > 95%,CPU使用率 < 60% | GPU瓶颈:显卡渲染能力不够,降低分辨率/画质可缓解 |
GPU使用率 < 90%,CPU某核心使用率 > 85% | CPU瓶颈:主线程/Draw Call阻塞,降低视距/NPC数量更有效 |
GPU使用率波动大(60%~99%之间反复跳) | 帧时间不稳:可能供电/散热策略导致频率波动 |
显存占用接近上限(>95%) | 显存瓶颈:降低纹理质量、阴影分辨率 |
内存占用 > 85% + 卡顿时磁盘读写飙升 | 内存不足:系统使用虚拟内存,增加物理内存是唯一解 |
实操方法:
在游戏加加的OSD面板上同时开启GPU使用率和CPU各核心使用率。跑测试场景时观察这两个数值:
每次调整游戏设置或系统配置后,不能只看平均FPS变化——那太粗糙了。1% Low FPS才是衡量「卡顿改善程度」的核心KPI。
计算方式(以游戏加加导出的CSV为例):
=PERCENTILE.INC(FPS列, 0.01) 计算1% Low FPS。=PERCENTILE.INC(FPS列, 0.001) 计算0.1% Low FPS。记录对比模板:
测试场景:永劫无间-自由练习-固定路线
平均FPS 1% Low 0.1% Low 最高帧时间(ms)
默认高画质 88 42 28 38.5
关闭体积云 91 48 35 29.1
关闭环境光遮蔽 93 52 38 26.4从这个数据可以看出:关闭环境光遮蔽对1% Low FPS的提升(52→?)比对平均FPS的提升(93→?)更显著,说明该场景的卡顿主要来自屏幕空间光照计算——这个结论如果不看1% Low,几乎不可能得出。
场景一:转视角稳,开镜卡
帧时间尖峰出现在缩放/瞄准瞬间。根因通常是LOD(细节层次)切换或景深后处理开销。诊断方法:在游戏加加中观察「GPU使用率」是否在开镜瞬间从70%跳到99%——如果是,降低「景深」「屏幕空间反射」等后处理选项。
场景二:帧率不低,但画面有撕裂感
帧时间曲线正常,但视觉上有横向撕裂线。这是帧输出与显示器刷新不同步的问题。解决方向不是调画质,而是:
场景三:玩了30分钟后开始卡
刚进游戏流畅,半小时后帧时间曲线逐渐上移且波动幅度增大。同时游戏加加显示GPU温度 > 85°C 或 CPU温度 > 90°C。这是典型的热节流(Thermal Throttling)——硬件撞温度墙后自动降频。
诊断确认:观察温度曲线与帧时间曲线的相关性。如果温度达到某个阈值后帧时间同步上升,基本可判定为散热问题。解决方向:清灰、更换硅脂、改善机箱风道,而非降低游戏画质。
总结一套可用游戏加加执行的诊断流程:
这套流程不需要任何付费软件。游戏加加负责数据采集,Excel负责分析,方法论就是本文所述内容。
这些设置对帧时间稳定性的影响常被低估:
这些操作与游戏加加的监控数据配合使用:改一项,跑一次测试,看帧时间曲线变化。用数据驱动优化,而非凭感觉。
本文所述诊断方法适用于大多数DirectX 11/12和Vulkan游戏。不同引擎的游戏瓶颈特征存在差异(虚幻引擎的游戏更易CPU瓶颈,Unity游戏更吃Draw Call),需结合具体场景判断。工具数据仅作为参考,不做硬件选购建议。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。