技術(shù)宅
現(xiàn)在游戲已經(jīng)成為很多朋友的消遣方式,但是平時(shí)在玩很多網(wǎng)絡(luò)游戲的時(shí)候,很多人都會(huì)發(fā)現(xiàn)現(xiàn)在的游戲越來(lái)越吃硬件。比如最近很火的《絕地求生》這款游戲,最低配置是i3+6GB內(nèi)存+NVIDIA GTX 660(2GB),但是經(jīng)實(shí)際測(cè)試,實(shí)際顯卡則至少需要GTX 1060才能達(dá)到基本畫質(zhì)要求(否則即使開最低特效,在GTX 660、1080P下也無(wú)法上到60幀,而且此時(shí)游戲畫面慘不忍睹,見圖1)。不過(guò)和這款游戲效果類似的《H1Z1》的最低配置是i3+4GB內(nèi)存+NVIDIA GTX 275系列或更高顯卡即可。為什么同樣引擎制作的游戲?qū)﹄娔X配置的要求差別卻如此之大?這種差別的背后原因又是什么?今天就讓我們來(lái)一探究竟。
畫質(zhì)渲染 你不知道的背后功臣
隨著電腦配置的提升,現(xiàn)在大型網(wǎng)游對(duì)電腦硬件的要求也越來(lái)越高。一款游戲要讓玩家感興趣,首先游戲畫面就必須“養(yǎng)眼”。那么怎么才能提升游戲畫質(zhì)?答案是使用針對(duì)畫質(zhì)渲染優(yōu)異的游戲引擎。
游戲引擎就類似汽車發(fā)動(dòng)機(jī),一款外觀豪華的汽車,如果發(fā)動(dòng)機(jī)不行,那么在汽車上路后就基本是個(gè)擺設(shè)。因此一款可以讓大多數(shù)玩家養(yǎng)眼的游戲,其背后必然有個(gè)優(yōu)秀的游戲引擎。游戲引擎也有些類似手機(jī)行業(yè)里的“SoC”(系統(tǒng)級(jí)芯片),它可以讓開發(fā)者們?cè)谝欢ǔ潭壬线h(yuǎn)離復(fù)雜的底層代碼,進(jìn)行所見即所得的建模,以及編輯地圖事件等各種工作,從而可以讓開發(fā)者快速完成游戲的開發(fā)。目前主流的第三方游戲引擎主要有兩家,分別是Unity和Unreal Engine(中文翻譯為“虛幻”),采用這些引擎開發(fā)的游戲,在載入游戲時(shí)??梢栽谟螒蚪缑婵吹剿麄兊腖ogo,比如在《奧里與黑暗森林》就可以看到“Unity Technologies”的字樣(圖2)。
優(yōu)異畫質(zhì)的背后 游戲引擎是怎么占用資源的
如上所述,游戲優(yōu)化畫質(zhì)和效果提升的關(guān)鍵是其背后的游戲引擎。那么游戲引擎又怎么會(huì)導(dǎo)致游戲?qū)τ布阅艿囊筇岣撸?/p>
以《絕地求生》這款游戲?yàn)槔?,這款游戲使用的是虛幻引擎4。虛幻引擎對(duì)畫質(zhì)的渲染是非常優(yōu)秀的,比如使用虛幻3打造的《桃園》,其畫面渲染水平就非常優(yōu)異,強(qiáng)大的光影特效及貼圖技術(shù)讓整個(gè)游戲畫面非常精美(圖3)。
現(xiàn)在虛幻已經(jīng)升級(jí)到“虛幻4”,在虛幻4中為了提高渲染品質(zhì),Unreal Engine加入了大量和畫質(zhì)相關(guān)的特性,比如SSAO、體積光、PBR材質(zhì)等特性,但是這些特性的發(fā)揮需要強(qiáng)大硬件性能的支撐(圖4)。
虛幻引擎一直以來(lái)也都是側(cè)重于高性能和高畫質(zhì)的開發(fā)工具,這樣利用虛幻引擎開發(fā)的游戲?qū)ε渲靡蟾呔晚樌沓烧铝恕Ee個(gè)例子,比如在《絕對(duì)求生》開啟“極致畫質(zhì)”測(cè)試,在1080P極致畫質(zhì)下,內(nèi)存占用在4.5GB左右,顯存占用最高達(dá)到了5.3GB左右,這個(gè)顯然一般玩家的顯卡都是吃不消的。即使是在低畫質(zhì)下,內(nèi)存占用基本不變,但是顯存占用仍然達(dá)到2.8GB。也就是說(shuō),現(xiàn)在主流玩家的GTX 1060 3G在低畫質(zhì)下才勉強(qiáng)不會(huì)出現(xiàn)爆顯存的現(xiàn)象。游戲高畫質(zhì)、高占用系統(tǒng)資源的特性直接導(dǎo)致卡頓、掉幀的情況出現(xiàn),給玩家?guī)?lái)極其不好的游戲體驗(yàn)(圖5)。
另一方面,游戲場(chǎng)景不同也會(huì)導(dǎo)致資源占用大小不同。比如《絕對(duì)求生》是一款大場(chǎng)景和視野寬闊的游戲,這樣必然需要更多的渲染細(xì)節(jié)。作為一款對(duì)戰(zhàn)游戲,為了公平,如此寬廣的視野中,某些特效是不能因?yàn)閮?yōu)化而關(guān)掉的。如果降低特效就大幅縮減樹木、草叢、陰影等模型/特效的渲染,那對(duì)于開了高畫質(zhì)的玩家來(lái)說(shuō)就不公平。因此這也是導(dǎo)致游戲占用資源過(guò)高的一個(gè)原因(圖6)。
寫在最后 要畫質(zhì)也要流暢
如上所述,對(duì)于一款游戲所需的硬件配置不同,一方面原因是使用不同的游戲引擎(比如一般使用Unity引擎的游戲就比Unreal Engine更節(jié)省資源,因?yàn)閁nreal Engine對(duì)畫質(zhì)渲染要求更高),另一方面則是由于游戲場(chǎng)景設(shè)計(jì)不同所致。
作為游戲開發(fā)廠商,在已經(jīng)使用某種引擎開發(fā)的前提下,他們就應(yīng)該結(jié)合自己的游戲做更多的優(yōu)化,保證玩家在享受高畫質(zhì)下更流暢地運(yùn)行游戲,否則優(yōu)化不當(dāng)就會(huì)給用戶很差的游戲體驗(yàn)。比如在實(shí)際測(cè)試中,《絕對(duì)求生》并不是只有戶外大量植被場(chǎng)景下會(huì)出現(xiàn)高顯存占用,即使是室內(nèi)場(chǎng)景,顯存的占用仍舊居高不下,這也意味著游戲的渲染策略仍然優(yōu)化不到位。而即使是使用資源占用較低的Unity引擎開發(fā)的《仙劍 6》,由于開發(fā)者對(duì)點(diǎn)光源等特效的濫用,以及把貼圖塞進(jìn)內(nèi)存而不是顯存等錯(cuò)誤用法,這也導(dǎo)致游戲極占資源。
作為玩家我們當(dāng)然希望能夠在享受高畫質(zhì)情況下有更流暢的應(yīng)用體驗(yàn),因此游戲廠商在開發(fā)游戲時(shí)就要選擇合適的游戲引擎,同時(shí)在后續(xù)應(yīng)該針對(duì)游戲流暢性做更多的優(yōu)化操作。endprint