说到游戏中的“帧数”,玩家们对帧数普遍最直观的感受就是,帧数高等于画面好,动作清晰流畅无模糊残影;而帧数过低或跳帧(号称60帧的游戏,有时会因为技术问题而频繁在30帧与60帧间切换)不仅会导致游戏画面变差,甚至让一些玩者产生头晕恶心等强烈不适感。在高清主机上,帧数可谓是决定画面优劣与游戏体验的关键,因此一直是玩家们格外关心的话题。
不过,你是否真正了解游戏以高帧运行的好处在哪里?知名游戏网站IGN就这个问题采访了《Volume》的制作成员MikeBithell,让大家更深入了解帧数及其重要性,并且为何游戏会以30帧或者60帧运行,而不是在这个范围内的其他数字,比如折中的45帧?
Bithell的解释是,帧数和显示器的刷新率相关,通常都是30Hz或者60Hz。“这是一个历史性的的问题。因为显示器的刷新率标准在很久以前就被确定了,并以双倍数计算。所以你可以理解为何内存等数字是2,4,8,16,32,64,128,256,512这样的数字增长,他们就是以倍数增长的。帧数也是差不多的概念,基本上就等同于屏幕的刷新率。”
从理论上来讲,一个游戏的确可以以45帧运行,不过当你设计一个游戏时你不会想要从30帧跳到45帧,因为那样你需要渲染1.5倍的帧数,而直接双倍帧数显然效率更高。
“实际上,现今很多游戏引擎都和帧数都是独立运行的——这表示在很多情况下代码都是以每一帧来运行的,或者说在物理间隔中运行,又或者在独立于帧数之外的物理间隔内运行。不过现在有极少部分游戏是以每帧来计算和移动的,所以不管你玩COD是以12帧或者60帧运行,游戏都需要运用到插值运算:上一帧需要一定的时间去渲染并且我需要这个循环以让这个过程进一步发展。这并不是说如果帧数糟糕你的游戏就运行变慢了。”
举例:一个赛车游戏以原生30帧运行,不过开发者运用一个mod操作,让其以60帧运行。那么问题在于,这并不是以独立帧运行的,意味着60帧下,赛车的速度达到了双倍。
而最大的问题在于当游戏出现掉帧时。人眼可以在训练的情况下用某些特定的方式看到一些特殊的东西,所以当游戏在30帧和60帧浮动时,问题就会显得特别突出。开发商锁定30帧的很大原因就是因为这个帧数浮动——在这种情况下游戏以稳定30帧运行要比游戏可以达到60帧但是却不稳定来的要好。
“很多时候你感觉游戏掉帧都是当你在60帧运行时,突然掉帧(比方说大约40帧),因为你的眼睛已经开始习惯60帧时这一表象突然消失了。如果游戏是以30帧稳定运行的话,事实上看上去要比不稳定的60帧来的过渡平滑。这也是为什么很多游戏都锁定帧数,即使是在PC上。所以开发商们经常说:我们不希望让玩家们只是单纯的玩到高速游戏,因为我们希望游戏保持稳定性和帧数,而不是偶尔达到最高速度。”
那么最大的问题是,这是否真的重要?不可否认,一个游戏如果以60帧运行的确会看上去过渡更平滑(如果一切都正常运行)——但这并不是必然。如果某个游戏在复杂的环境下有很多即时演算,有时候可能30帧每秒更加实惠,因为如果追求更高的帧数可能会对硬件开发能力造成负担。
“帧数有时候带有欺骗性。帧数事实上比720p/1080p分辨率要花费更多精力,因为60帧比30帧的渲染效率提高两倍,其工作量要比提升像素大很多很多。关键问题在于你还必须将其保持的非常平稳。比如说,如果你想要制作一个历史类的游戏运用到法国的开放性世界,基本上你很难将帧数从30提高到60帧,因为你需要对其进行相当程度的优化。”
另一方面,从720P到1080P虽然也很困难,但是只要在适当的程序设计师帮助下,还是可以达到的。但是如果将一个游戏重新设计以达到60帧呢?Bithell表示那就远远不够。“花费大量的时间在加上一些顶尖的图像设计师,也许可以做到。不过60帧意味着你要多画多于一倍的像素。另外也有一些方面也许玩家甚至都不会考虑到的;比如很多动画引擎需要锁定到每一帧。”
电影则和游戏不同,基本以24帧每秒运行。而电影为什么可以看起来很平滑过渡主要是因为动态模糊,在这一点上游戏开发商则需要引擎配合。就算有有效办法来解决帧数不稳定的问题,正如Bithell所说,硬件所需要的内存负担也会相对比较高。
“动态模糊开发成本非常昂贵;你必须要储存很多图像数据,因为你需要渲染像素,然后保存,然后将它们设置到屏幕上,还要取决于显卡和平台机能,非常具有挑战性。”
而对于Bithell正在开发的《Volume》这个游戏,他举例说:“目前在PC上,我的Mac上,游戏大约是以120帧运行的。而在主机上,我们将会将其降到60帧以求稳定性,不过这还需要很多的工作,并不是像说的那么简单,这并不是表现我们的开发能力不行。我们具有开发能力,但这并不是主要原因。”