最近《绝地求生:大逃杀》红透了半边天,这个配置要求不低的游戏,让人们再次对游戏优化的话题感兴趣了起来。平心而论,《绝地求生:大逃杀》的画质不算差,不过也谈不上顶级,但其配置要求,却令两三年前的顶配PC都压力山大。
毫无疑问,“吃鸡”的优化是存在问题的,市面上并不乏画质比它更出色、配置需求又更低的游戏。例如PS4上的《神秘海域4》,依靠PS4低频cpu和7850级别的GPU,实现了媲美顶级PC大作的画质;又例如PC平台的《古墓丽影:崛起》,一张三年前的GTX680就可以跑出比“吃鸡”更流畅、更漂亮的画面。
这是如何做到的呢?无疑是和厂商的优化功力息息相关的。一般来说,厂商会使用什么方法技巧来优化游戏?今天,就来谈谈游戏优化有什么奇技淫巧吧。
我们首先来简单谈谈一个游戏,到底会在什么地方消耗硬件资源。游戏对图形性能的需求主要体现在以下方面,一是建模,二是贴图,接着就是环境光、粒子效果等等特效。当游戏选择中低画质的时候,建模会变得更粗糙,贴图会变得更模糊,特效也会进行一定程度的削减。很多朋友在游戏开低特效后,发现人脸多了很多棱角,皮肤细节也大幅减少,看着像被美图秀秀磨过皮,人物在太阳下行走也少了影子,简直跟鬼没啥两样,云彩和尘埃没了,燃烧的火焰也变得呆板了很多,这些都是为了减少图形渲染压力、为玩家提供更高帧数所需要付出的代价。
▲建模后贴图,然后加上各种特效,就成为了我们所见到的游戏画面,这里每一步都要消耗资源
如果一个游戏想要画质好,那思路非常简单,循规蹈矩把建模、贴图、特效堆上去就可以了(仙剑6那种乱堆出悲剧的除外)。但游戏同时还想要跑得流畅,那就得偷偷砍掉一些高画质的元素了。如何在玩家不察觉的情况下,在建模、贴图、特效方面进行删减,考验的就是优化方面的真本事了。目前来说,要实现“神优化”,下面的一些手段都比较常见。
现在开放世界式的游戏越来越多,连在线性叙事游戏耕耘多年的日本厂商,都开始尝试制作开放世界游戏,例如《最终幻想15》,就硬生生把前几关做成了开放世界。开放世界游戏中,大地图是必不可少的元素,但大地图就意味着模型数量暴增,如何将大地图流畅地呈现到玩家面前?于是就得在视野外的模型做手脚了。
▲大地图对硬件负荷很大,要流畅的画面,远景和遮挡事物会被缩掉
尽管开放世界的地图很大、视野开阔,但玩家总有看不见的地方,或者看得不太清晰的地方,例如背后,例如被遮挡住的建筑,例如远处等等。于是,游戏就会不渲染或者只用低画质来渲染这些模型,待到玩家移动到这些地方的时候,才使用高画质来进行渲染。
玩家在很多游戏中,其实都可以观察到这些现象:放眼望去远处明明是没有草的,跑过去后草突然就从身前冒了出来;某座山刚刚看到的时候就像一个圆滑的土堆,但向它靠近的话不一会儿就变成了棱角分明的石头。这些现象被部分玩家称作“炸山”,带有大地图的游戏想要流畅运行,这种优化技巧基本是必不可少的。为什么《绝地求生:大逃杀》会卡?为了竞技的公平性,这游戏不能大幅减少远处的草木、房子渲染,所以需要渲染的地图大、事物多,对配置的要求自然也就水涨船高了。
利用崩落场景删地图
除了开放世界式游戏,线性叙事的游戏地图也比之前进化了不少。地图不仅更大,而且更加精细,像顽皮狗最新出品的《神秘海域4》,一些场景已经接近照片级,令人难分真假。一般来说,如此精细的画面是很耗资源的,但偏偏这游戏是PS4独占,PS4的机能远不及现在的顶级PC,而《神秘海域4》还非常流畅,这是怎么做到的呢?
▲《神秘海域4》的画面令人很难相信是在PS4这样的机能下实现的
这游戏的一大优化手段,就在于不断利用崩落场景删地图。例如,当玩家爬山爬了一段后,背后会发生悬崖崩落之类的情节,紧张刺激的同时,随着崩落,旧的地图也被删掉了,游戏自然也不再需要渲染太大的场景,硬件压力大大减少。
▲《神海4》的游戏流程伴随着很多场景崩落,崩落的同时删掉了无用地图,减轻硬件负担
其实这种手段在顽皮狗出品的游戏中很常见,例如《The Last of Us》当中,也经常走一段路,后面的建筑就崩塌掉,玩家没法再走回头路。这种和关卡设计紧密结合的优化手段,还是非常行之有效的。不过这种优化方式仅适用于线性游戏,开放世界式的游戏很难使用。
采用动态分辨率
更高的分辨率带来了更细腻的画面,同时也带来了更大的运算压力。现在越来越多的游戏把分辨率做到了4K乃至8K,这对于机器来说,可就很难吃得消了。但玩家偏偏又喜欢享受高分辨率带来的快感,怎么办?动态分辨率应运而生。
顾名思义,动态分辨率就是会变动的分辨率,当游戏遇到复杂场景、特效而压力山大的时候,就会自动降低分辨率,以牺牲分辨率为代价,换取流畅度。动态分辨率的使用是有技巧的,你总不能让玩家跑一会儿人突然变成了马赛克,再走两步突然又高清得连毛都看得一清二楚。通常来说,只有在动态、特效复杂等场面下,玩家不太留神建模的时候,动态分辨率才会发挥作用,带给玩家更流畅的游戏体验。
▲特效比较多的场景,某些游戏机就会动态降低分辨率,PSV的玩家应该深有体会
实际上,在PC中动态分辨率这手段使用得并不算频繁,在游戏机平台上倒比较常见。在PC上游戏卡了厂商可以赖你配置不够高;但在游戏机上游戏都变成幻灯片,这游戏“渣优化”的帽子可就脱不掉了。同时,游戏机一般也不能设置游戏渲染的分辨率,游戏用什么分辨率,全凭厂商的策略,于是动态分辨率就成为了常见的优化手段。
利用过场时间读图
现在的游戏体积越来越大,读图的时间也越来越长,如何让玩家减少读图的等待,也很考验游戏优化的功力。现在最常见的手段,或许就是在过场时读图,等过场播完了,游戏也就已经载入完毕,玩家并不会觉得等读图等了很久。
▲《女神异闻录5》带有大量非常炫酷的过场动画,其实过场时就已经在读图,很巧妙的设计
什么是游戏的过场?例如游戏过程中播放的CG、战斗结算动画等等,就是典型的过场。现在很多游戏都是用了电影式叙事,打一段游戏播一段片,在播片时读图,的确可以提升游戏体验。
总结
上文提到的只是一些玩家留心就可以观察得到的优化手段,实际上游戏优化是一个非常复杂的系统工程,细节之繁多并非简单的三言两语就可以一一详述。希望游戏厂商都能够更加注重玩家的实际体验,在用“显卡杀手”来奠定画质领头羊地位的同时,也不要忘记并非所有玩家都会配备四路泰坦,多做“神优化”,为最广大的玩家提供流畅而精美的画质,才能赢得真正的好口碑。