1.我们碰到的问题

2018 年,我带领的测试团队专注于移动端游戏的流畅性评测。当时,团队面临着一个核心挑战——如何量化游戏主观的体验?

我们先从业内两种评测游戏流畅度的方法说起:主观评价和客观性能测试。

主观评价要求测试人员通过试玩后,对游戏是否 “流畅” 或 “卡顿” 做出定性判断。虽然这种方法操作灵活且无需依赖复杂工具,但其结果极度依赖测试人员的经验和感知阈值。比如,资深测试人员可能对连续丢帧 3 次极为敏感,而新人则可能需要连续丢帧 5 次才能感知到卡顿。个体差异使得结果难以标准化,也无法为研发团队提供明确的优化方向。

因此,我们日常工作主要依赖客观性能测试,其核心指标为掉帧数(Frame Drop)。游戏画面通常以逐帧渲染的方式呈现(例如 60FPS 时,每 16.67 毫秒生成一帧)。若因硬件性能不足(例如 GPU 负载过高)或软件逻辑缺陷(例如渲染管线阻塞)导致某一帧生成时间超过阈值,则该帧会被丢弃,从而构成一次掉帧。短时内连续大量掉帧会显著破坏视觉连续性,使玩家感受到 “卡顿”。例如下图,在 60FPS 的游戏中,如果在第 4 帧发生掉帧,玩家可能会观察到画面的明显抖动。

在实际测试中,我们使用公司自研的工具 FPSPerf 实时记录性能参数。当游戏在某些场景中出现掉帧时,该工具会记录详细日志,以便后续进行根因分析。如果连续掉帧,也会记录连续掉帧的次数,从而计算卡顿次数(即连续掉帧次数超过某个阈值的情况)。例如基于下图,若将卡顿阈值定为 “连续掉帧次数 ≥ 5”,图中该游戏的卡顿次数记为 0;若将阈值设为 “连续掉帧次数 ≥ 3”,则该游戏的卡顿次数为 2。

从测试团队角度,为保证不遗漏任何问题,建议采用阈值是 2。而研发团队基于解决问题的成本,则倾向于采用 5 或更高。最后,产品经理基于用户体验,提出以 3 为折中方案,因为我们的一位主要客户也采用这一标准。此外,游戏本身会根据硬件资源配置,通过算法设计出一个折中结果,而非在所有场景下追求绝对流畅。针对这一问题,各方争论不休,持续了数月,导致测试团队及跨团队协作均受到一定影响。

2.设计心理学实验
作为测试人员,我认为我们应主动尝试改变现状。基于用户体验,我们需要探究连续掉帧(客观指标)与游戏主观卡顿感受之间的关系,以期为性能测试提供客观依据。这一问题本质上是关于人类视觉和认知系统的心理现象,于是我想到了经典的心理实验——斯特罗普效应。

斯特罗普效应(Stroop Effect)是一个经典的心理学实验,用以揭示人类认知过程中自动化处理与干扰现象。该实验由约翰·斯特鲁普于 1935 年首次提出,并被广泛应用于认知心理学研究。实验中,受试者面对颜色词,但这些词的字体颜色与词义所代表的颜色不一致(例如,“红色” 一词可能呈现为蓝色)。任务要求忽略词义,尽快说出字体颜色。结果显示,词义与字体颜色不一致时,受试者的反应时间显著延长,错误率也随之增加,这种现象即为 “斯特罗普干扰”。这一实验揭示了人类认知并非孤立,而是受多种因素影响。

受到启发,我便思考是否可以设计类似的心理实验来研究游戏卡顿感知问题。为此,我构思并设计了一款心理实验工具,用以收集测试人员对游戏卡顿的主观感知以及客观连续掉帧数指标,进而分析两者之间的相关性。参考《实验心理学》中的方法,我经过两周构思,完成了实验流程的草图。随后再过两周,基于这一设想开发出对应的软件工具,支持整个实验流程。

实验主要流程如下:

数据生成。准备 10 个不同类型、绝对流畅(无卡顿感)的 15 秒视频片段,这些片段涵盖不同场景(如剧烈运动、画面复杂度、视角、相机位置与环境等)。基于这 10 个原始视频,通过软件在随机位置(每个视频选取 5 个不同位置)随机丢弃连续帧数(从 1 到 15),生成共计 10×15×5=750 个视频。每个生成的视频均标记了其连续丢帧的数量,但该信息对受试者是隐藏的。

操作界面。选取若干受试者,在其计算机上运行实验软件,并观看随机抽取的 20 个视频片段,针对每个视频做出主观评价(卡顿或流畅,二选一)。所有标注数据实时同步至服务器,以便后续汇总和存档。

数据收集与分析。当所有受试者完成实验后,系统自动对提交的数据进行分析,探讨连续掉帧数与卡顿感知之间的相关性,并评估各受试者的离散性,最终生成实验报告和结论。

3.实验过程和结果
首先,我将试用版发布给测试团队中 10 位组员,让他们试运行软件并验证数据采集和分析程序是否正常。经过初步验证后,我向整个产品测试团队(约 100 余人)发出 “游戏卡顿体验试验邀请” 邮件,并设计奖励机制:提交结果与平均值最接近的前三位受试者平分 200 元礼品卡,并授予 “游戏体验测试官” 称号。

在三天内,服务器共收集到有效数据 53 份(共 53×20=1060 个样本),远超预期的最低 30 份。随即,我运行数据分析程序,得到了如下实验结果:

根据数据,连续丢帧数与主观卡顿概率之间的关系呈现近似 S 型曲线,并且曲线经过 (1, 0%) 与 (15, 100%) 两个点。基于此,我选择如下逻辑函数作为拟合目标(其中 x 表示连续丢帧数,y 表示主观卡顿概率):

经过曲线拟合,得到参数 a=36.4、b=0.6、c=1.0。参数的得出,连同上面的目标函数,它就构成了游戏卡顿的感知心理的数学模型。

根据邀请邮件的约定,我将每位受试者的提交结果与该曲线拟合值之间的距离进行计算和排序,从而选出前三位得分最优者。这三位受试者除获得 200 元礼品卡外,未来在重要版本或时间节点上,还将受邀参与我们的游戏体验测试。随后,我将该模型应用于某次性能测试,并获得了如下数据(最后一列为各测试结果的卡顿概率平均值)。

在最终的总结邮件中,我不仅汇报了实验结果,还详细分析了实验过程中遇到的问题、局限性及未来改进方向:
1)实验参与者中 90% 来自测试团队,其中多数有多媒体测试经验,缺少专业游戏玩家的评测数据;未来可考虑借助互联网或众包方式采集更广泛的数据,从而提高结论对玩家的适应性。
2)本实验仅针对 60FPS 游戏进行,对于 30FPS、40FPS、90FPS、120FPS 等不同帧率环境下的评价还需进一步研究。
3)本实验关注单次卡顿现象,而在实际应用中,多次卡顿对用户体验的综合影响需构建更复杂的模型进行探究。
4)当前实验仅考察了视觉方面的认知模型,而现实游戏还涉及操作反馈(例如手感等),如何评估这部分性能也将是未来实验的重要方向。

4.未尽的遗憾

实验结束后,我召集了所有利益相关者,共同探讨如何解读和应用实验结果。大家一致认为,该心理实验提供了一个客观且合理的游戏性能模型,并可嵌入游戏性能测试的后处理程序中进行长期监控,以期成为研发内部的重要测试工具。

然而,由于职业发展原因,我离开了测试团队和公司,也未能见证这一模型的最终推广与应用。尽管如此,我依然为以测试工作名义做出的努力感到欣慰,并见证了心理学方法在游戏测试中的尝试与其引领我们走向正确方向的巨大潜力。

张昊翔

2025/4/15

Wechat: hzhan11

QQ: 22321262

Email: xjtu_xiangxiang@hotmail.com

Blog: https://www.infoq.cn/profile/2215BDBD532CB4/

LinkedIn: https://www.linkedin.com/in/hzhan11/


↙↙↙阅读原文可查看相关链接,并与作者交流