• 如果觉得宅男频道还不错,Ctrl+D放进你的收藏夹吧~
  • 宅男频道所有内容均来自互联网用户分享,如有违规内容,纯属本站管理不善,请及时联系我们删除。
  •    2018-07-28 11:11:34  ACGN趣谈  抢沙发

    如何用量化数据去准确描述游戏的流畅性,是个几乎无解的问题。因为流畅性很多时候掺杂了操作人的“主观”感受,所以难以建立一个统一的基准线去满足所有人的主观评价标准。但我们还是不断地希望引入新的数据源可以去更为精准的辅助判断某款游戏在某硬件平台上的流畅性。

    游戏测试不止跑个数!游戏卡不卡,究竟用什么来判断?

    数据上显示流畅就是真的流畅吗?

    最早也是最为大众所接受的游戏评判标准是“帧率”。无论是电影、电视、动画亦或游戏,实际上都是利用人眼的“视觉暂留”原理,通过将静态画面连续播放形成“动”起来的效果,其中单位时间内播放的静态画面数量,即为“帧率”。通常采用1秒为标准时间单位,即“Frames Per Second”,缩写为我们常说的“FPS”。理论上帧率越高,画面看起来会越流畅。影视行业惯用的流畅标准是24FPS,而游戏领域则是30FPS(两者之间为什么不同稍后会讲到),这些标准是平衡成本之后的产物,因为更高的帧率意味着更高的制作成本或性能需求。

    对于影视行业,帧率这一标准足够完美,但对于游戏来说,由于其画面的即时生成特性,会导致帧率本身具有明显的不稳定性,所以帧率(更准确的说是“平均帧率”)并不能完全真实的反映游戏的流畅性。举个例子来说:在100秒的游戏采样时间中,其中前50秒帧率维持在200,但接下来的50秒,画面基本卡死 —— 此时如果只看接近100FPS的平均帧率自然会得出“非常流畅”的测试结论。但从实际游戏体验角度上来讲,这100秒的体验决然是糟糕至极。在实际测试中,这种数据很漂亮但实际体验相距甚远的情况并不罕见。

    游戏测试不止跑个数!游戏卡不卡,究竟用什么来判断?

    图中数据的平均帧率高达99+,略极端,但很好地印证了平均帧率其实并不靠谱

    为了弥补平均帧率的缺陷,测试行业又开始关注“最低帧率”,即在采样数据中最低的帧率数值,并认定当该数值超过30FPS时,游戏即完全流畅。仅从数据来看,最低帧率解决了前例中提到的情况,能够完善地描述游戏的流畅性。但从实际情况来看,即使最低帧率高于30FPS的游戏,操作游戏时也还是可能会察觉到卡顿现象的存在。这是因为帧率本身数据采样的局限性:以“秒”这样一个相对于电脑的计算过程而言实在是一个太长的时间段为单位的数据,很有可能会忽略两次采样之间发生的画面卡顿。

    游戏测试不止跑个数!游戏卡不卡,究竟用什么来判断?

    同一个游戏测试在不同采样精度下会得到截然相反的结论

    上图就是个很典型的例证:这是我们在某次测试《绝地求生》游戏时所得到的数据。如果按照传统的“FPS”概念,那么这1秒钟的帧率是53,理论上不会有卡顿的感觉。而实际上显卡在这1秒钟里只输出了48个画面帧,其中最慢的1帧画面等效帧率只有16,会带来明显的迟滞感。因此,传统意义上的“最低帧率”其实并没有什么卵用。

    为了解决帧率的诸多局限,我们在游戏测试的时候引入了“帧渲染时间”的概念。即每1帧画面渲染所消耗的时间。常用计量单位为毫秒(MS)。因为可以精确到每1帧的实际生成时间,所以可以更为精确的判定是否在这一画面帧中出现了卡顿的现象。同时由于帧渲染时间的单位缩减到毫秒级别,因此数据的采样率要比帧率高得多。标准的游戏测试帧率数据通常是60~100秒,得到的数据也就是60~100个左右。而帧渲染时间,即使是按照30FPS的帧率,60秒的数据采样也提升到了1800个,越多的数据采样意味着得到的结论越具有普适性。

    游戏测试不止跑个数!游戏卡不卡,究竟用什么来判断?

    帧渲染时间能够更准确的表现游戏运行过程中是否产生了画面卡顿

    准确性大幅提升的帧渲染时间依然并不完美,其缺点在于对游戏的流畅性只能给出是和否的回答,而无法直观的对比两套不同测试平台的性能差异。伴随而生的卡顿帧百分比(帧渲染时间高于33.3MS和66.7MS的画面帧占测试采样总帧数的比例)虽然能够一定程度上用于相对精确地量化比较,但对于大多数人来说这个概念又显得有些复杂了。因此我们通过对帧渲染时间进行倒数换算创造了“等效平均帧率”的概念,这样既可以保证超越传统平均帧率几十倍的采样精度,同时在结果的直观性上也更容易被大众所接受。

    游戏测试不止跑个数!游戏卡不卡,究竟用什么来判断?

    等效平均帧率在准确性和直观性方面都更为完善

    在使用了等效平均帧率概念后,我们发现由于部分游戏引擎本身的不稳定,高采样精度下简单粗暴的“最低帧率”数据会存在较大的偶然性,因此我们使用采样帧中等效帧率最低的5%的画面帧率数据计算平均值来弥合这种偶然性,从而能够更为准确的评估被测试系统在高负载下的游戏性能。

    游戏测试不止跑个数!游戏卡不卡,究竟用什么来判断?

    在使用方式的灵活性上,等效帧率也要优于帧渲染时间

    这足够精准了么?显然还不。因为不同游戏对于帧率的需求不尽相同。如果有一款3D画面的象棋游戏,即使帧率只有20FPS,大多数人也不会觉得画面卡。而在战况激烈的主视角射击游戏中,即使60FPS也仍然觉得流畅性不足。研究这个问题就要先回答我们最开始留下的那个问题:为什么影视作品普遍采用24FPS作为行业标准,而游戏行业则要提高到30FPS?

    游戏测试不止跑个数!游戏卡不卡,究竟用什么来判断?

    单帧画面对比,游戏是没有电影中的模糊效果的

    这里面涉及到“动作模糊”的概念:影视拍摄是靠捕捉一段时间内(即快门时间)光学信息记录画面,因此在拍摄高速运动物体时会因为快门速度不够快而产生运动模糊效应。这种被记录下来的运动模糊配合人眼的视觉暂留使得我们更容易把画面内的动作连贯起来。而游戏中每1帧的游戏画面都是瞬时状态(可以想象成快门无限快时候捕捉到的画面),在连续动作之间并没有运动模糊造成的过渡,因此在观看游戏画面时候,需要大脑进行连续动作间过渡画面的补偿计算。而帧率越低,则连续两帧之间需要“脑补”的过渡信息就越多,因此想要达到同样的流畅感受,游戏画面需要的帧率就要比影视作品更高一点。

    游戏测试不止跑个数!游戏卡不卡,究竟用什么来判断?

    同样是热门电竞游戏,《刀塔2》对帧率的需求显然远低于《反恐精英:全球攻势》

    这个道理的逆推就可以解答不同游戏对帧率的需求差异:游戏画面越趋于静态,则需要大脑计算的过渡信息就越少,因此较低的帧率就能让我们觉得流畅。而画面变化越频繁,越剧烈,则需要“脑补”的工作量就越多,当大脑承受不住工作量的时候,我们就会觉得画面不流畅了。当长期使大脑处于这种超量工作状态的时候,甚至会引发一定程度的眩晕感。

    关于帧率对流畅性的影响,不光是视觉原理上的,更高帧率还能缩短游戏对操作响应的延迟:通常游戏引擎对于操作的反应是3~4帧。因此30FPS下操作响应的极限时间大概在100MS左右,而60FPS情况下就可以缩短到约50MS了。因此越是需要对操作响应及时的游戏类型,对帧率的流畅性判定标准也应该越高。

    游戏测试不止跑个数!游戏卡不卡,究竟用什么来判断?

    《守望先锋》射击反应测试,60FPS下从按下开火键到反应需要27MS,而150FPS下就仅需要7MS了

    只是这种基于不同游戏类型来分类流畅性判定的标准,其间的判定标准太过复杂,对于衡量PC产品性能来说并没有太多必要性。所以截止到目前,我们通过帧渲染时间计算出的等效平均帧率、最低5%平均帧率,仍然是最具有普适意义的游戏流畅性和产品性能衡量标准。

    当然,我们也在不断地引入新的数学方法和辅助参数(例如计算曲线差异系数和相连画面帧的帧率波动比例)来衡量等效帧率曲线的平顺性,希望能够从更多维度去提升量化游戏流畅性的精度。只是对于大多数普通游戏玩家来说,数据精度上的优势在概念理解的复杂度面前显得有些得不偿失。尽管如此,测试数据的准确性和表达上的直观性仍旧是我们努力的方向。

    So,你以为游戏测试就是跑个数?

     

    本文系网友@G² Lab投稿,不代表宅男频道观点

    本站只做信息分享,转载请注明出处来自宅男频道

    相关推荐

    发表评论

    暂无评论