次世代遊戲對於PC主機的要求越來越高,遊戲實際上對於主機的要求真的很高嗎?
以前看過一篇科技雜誌,上面介紹了很多遊戲在對於編程演算法上面下的功夫都很少,從而浪費了太多主機資源。還有就是真的像傳說中遊戲廠商是與硬體廠商背後的陰謀,每年不斷提升遊戲對於cpu的要求,從而迫使用戶升級。
《神秘海域4》次世代德雷克製作秘辛(中文字幕)視頻回答題主這問題,得先從遊戲優化說起。 說起遊戲優化,這就不得不提起一個中國所有遊戲公司裡面目前基本沒有的一個職位——TA,如我所引用的視頻裡面的所提到的「黑盒」,寫出類似「黑盒」這樣工具的人,在中國寥寥無幾,可以說真正能勝任TA職位的人也是寥寥無幾的。那麼,TA在遊戲製作過程中是起什麼作用的?回答這個問題就得回歸到遊戲如何進行優化了。
遊戲之所以需要優化,就是美術組在遊戲美術上的「貪婪」造成的,得一想二,在達到某個效果之後,美術往往是不知足的,繼續想要的更好的效果,能把更多的細節表現出來,所以不顧一切把各種效果用爛大街的方法(技巧、技術、YouTube上的公開教程等)疊加起來扔進引擎,嗯,靜態效果滿意了,程序一跑遊戲,各種掉幀,程序就開始檢查到底哪個效果最佔資源,檢查出來了,對美術毫不留情地說,這個不能放進去那個不能放進去,不然遊戲沒法玩了,這時候追求完美效果的美術可能會跳出來說,沒了這個和沒了那個跟加這些效果之前有什麼區別?這時候,要是沒有TA的遊戲公司,美術組就不得不妥協,屈服在「美術資源有限」這個成了普遍程序猿口頭禪的淫威之下,忍受著各種閹割的畫面……雖然表面上美術組不會表現出來,但是,從心底上多多少少都有點不服氣的,畢竟自己歷盡艱辛的把自己的藝術修養提升到某個高度,但是在遊戲裡面卻無法體現出來,真是有種「有志不得伸」的「怨恨」,所以,沒有TA的公司對於遊戲優化只有一個方法,就是大刀霍斧地刪減佔資源的美術資源,從最佔資源的開始刪,直到遊戲掉幀正常為止,這就是最直接簡單有效的遊戲優化了。但是,在這樣公司裡面乾的美術肯定心有不甘的,他們不會責怪公司裡面沒有給力的TA,而是把問題焦點轉移到了平台機能劣質(PC、遊戲主機、掌機、手機都無一倖免)上,然後會用各種手段,要求這些硬體平台不停地提高機能,導致硬體平台永無終止地升級。
但是,要是一家公司裡面有一個專業的TA,美術心底的這種「不平衡」心理最終會有所緩解,為什麼呢?因為TA需要做的事情,就是美術資源的最大限度表現和對機能的最大限度壓榨,也就是視頻裡面提到的秘密武器——「黑盒」,那是灌注TA心血的智慧結晶,雖然,對遊戲製作難度不了解的玩家對於TA的付出在玩遊戲的時候不會直接感受到TA的作用,但是,他們能從遊戲的更新換代中作出對比的,畢竟從神海1到神海3都是在同一個平台上的,畫面的升級實在太明顯了,還別說只是公布了預告視頻的神海4,在畫面表現上不停吸引玩家關注的遊戲,那種影響力實在太大了,而在背後默默無聞的TA其實是最大功勞的,為什麼?得益於CG人才的培訓機構的市場壯大,靜態美術(原畫師、貼圖師)和程序員基本爛大街了,所以各種一線公司擁有的主美和主程都是基本在同一個等級的,但是,為什麼最終在同一平台上(例如PS3)的遊戲畫面呈現的效果差距那麼大?排除風格需要,真正追求最高畫面表現的話,這得看哪家公司擁有這地球上最給力的TA了。那麼回歸到題主的問題,遊戲公司很少在編程演算法上下的功夫很少,所以浪費了很多機能,其實,浪費機能不僅僅是遊戲程序演算法上的,浪費機能的罪魁禍首其實是,美術資源在遊戲引擎表現的過程才是最要命的,沒有TA的公司只能用引擎里的自帶默認sharder(著色器),而編寫引擎的基本都是純程序員,在成為一個能編寫引擎的程序員的道路上,他們投入的時間基本都是在代碼上而不是在美術修養上,所以他們是無法預計在遊戲製作過程中美術人員需要表現什麼效果的,所以,引擎自帶sharder一般來說能做到基本sharder能做的事情是沒問題的,但是,想要表現更高級的美術效果基本是各種雞肋的,那不是寫引擎的程序員水平不行或者說考慮不周的問題,而是,在編寫引擎的程序員角度來看,sharder對於遊戲引擎整體開發里所佔的比重很少的,他們的開發重心自然也不會花在高級sharder的編寫上,所以,一個引擎的高級sharder開發重任自然是交給遊戲開發公司自己的人了,能承擔這樣任務的人,一般都能稱為TA了,所以,雜誌以一個遊戲製作的門外漢看來,是程序員的編程演算法沒有優化導致機能浪費,其實不是的,是遊戲製作公司不重視TA工作的重要性或者找不到一個給力的TA(畢竟能成為一個標準TA的人所走的路十分艱辛的,美術修養達到主美的80%左右,編程能力達到主程80%左右,方能真正勝任,那是「雙修」了)。這麼說吧,舉個簡單的例子
ps3和360時代的末期,pc機能很強了吧,畢竟titan這些卡都出來了即使是平民卡,660這些也不算太弱但是看看遊戲畫面,依然是半吊子而當ps4和xo宣布之後,很多遊戲畫面突然一下就發生了質的變化所以其實遊戲機的機能變化影響了整個遊戲行業的水平,第一方獨佔先不說了,光是第三方的變化也是看得到的。而且也就是一兩年間的時間,在2013年大部分pc遊戲的畫面充其量也就是ps3這些機子的畫面再提升解析度和特效的程度;但是從2015年開始,pc上的畫面應該也都集體躍進到ps4這些機子的頂級效果了。
另外,拿pc和遊戲機來比畢竟還是不合適的。遊戲機資源利用簡直是一種極限的壓榨,很多遊戲的花絮里其實都介紹過,比如如何使用內存,ps3的內存其實很小的,而場景、角色動畫、各種貼圖都需要放在內存里,如何使用則非常講究,而且遊戲機和pc不同,pc大不了換個特效級別就完了,我開高玩不下去,我開中開低就行了,遊戲機卻不行。
另一點則是對任何一個進程的優化,他們可以監控任何一個進程佔用的ms值,也就是說某一個進程消耗了多少毫秒。然後會針對消耗毫秒多的進程去研究到底發生了什麼事情
因為畢竟假如按照最低要求來看,一秒鐘要輸出30幀的話,那麼一幀也就是30ms的樣子,所以資源非常珍貴,容不得浪費。但是對於pc而言,還是那樣:你性能好的,隨你跑;你性能差的,我們又不需要負什麼責,沒人承諾所有pc都必須玩的了這個遊戲。這也是pc和遊戲機本質的區別,遊戲機的優化是必須要做,而且必須要下狠心做的;pc則未必是這樣,優化肯定是有的,但是不會優化到遊戲機這個程度,一來因為硬體等級分散,二來因為架構有差異,比如遊戲機cpu和gpu是在一個內存池裡面定址的,而pc內存和顯存是分開的。。。等等如此這般,都會帶來區別這個問題要分開來看,Console 市場和 PC 市場的情況是不同的。
Console 是大錢所在,成千萬上億的投入,搞好了會有幾千萬幾億的回報,所以競爭非常激烈;遊戲市場的勝者通吃又讓競爭顯得尤為殘酷。再加上硬體固定,在各個世代末期開發隊伍積累了數年的優化經驗,都是一個毫秒一個毫秒的壓榨機能,以期超越競爭對手。現代遊戲是一個極為複雜的效率優先軟體工程,優化上的投入成本甚至可以佔到總成本的1/3(我個人觀察,實際情況無法統計),目標就是讓 CPU 和 GPU 的佔用率儘可能的穩定地飽和,維持穩定的更新頻率。現在世界上的幾個大廠的核心技術力都差不多,誰也沒有火星科技,哪家都是憋足了勁,不甘人後,如果誰搞出了點新花樣,一定是滿世界宣傳。在這個行業內,顯然不存在存心劣化的問題。
PC 遊戲,特別是高端遊戲領域,基本上都是 Console 遊戲的移植植。由於 PC 銷量有限,且 PC 硬體參差不齊,在 PC 優化上廠家投入的努力要小得多。以我的個人觀察,都是 Console 版接近開發末期,拉幾個程序員,稍稍打包一下,加上點 UI 的移植就出去了。所以基本上 PC 就是個 Console 的增強版,而且增強的項目都是多快好省,比如反鋸齒精度高一些,為了打發 nVidia,AMD,用點各個卡特有的功能,出個高精度貼圖包(一般美術都是製作雙倍解析度貼圖再縮小以獲得更高的質量)等等。所以 PC 版遊戲的優化可能遠不如 Console 版來的盡心,但是你要說劣化演算法推動硬體銷售,一來誰有這個閑心,二來那些贊助費還真是不入大廠法眼。
平台越單一,優化越好做。Naughty Dog 的遊戲對 PS3 的 7個 SPU 利用率優化的非常好,這在技術上的確有過人之處。作為 Sony 的第一方,他們的遊戲可以只為 PS3 優化。但是業界沒有人學他們這種做法,都是雙平台,不然的話 GTA5 那2億歐的成本如何收得回來?PC 平台獨佔作品自然優化上會比 Console 移植遊戲做得好,Blizzard 的遊戲這方面一貫做的不錯。一般的印象都是 Blizzard 的作品在高配置和低配置上跑起來都不錯,那就是因為優化做到了位。對於 Blizzard 而言,這樣的做法都是為了盡量擴大玩家受眾群,不希望玩家因為配置而放棄購買自己的遊戲。「劣化演算法推動硬體銷售」這種事在 PC 遊戲大廠眼裡也是「仙人掌吸輻射」一般的存在。
為什麼次世代遊戲對 PC 要求一下子高了呢,那是因為 Console 更新了,新的遊戲要適應新硬體,移植到 PC 的版本自然水漲船高。
遊戲都是力爭用盡硬體機能,來推動自身的質量,獲取更強的市場競爭力。普通人接觸得到的軟體中,就屬遊戲最能讓你賺回 CPU 和 GPU 票價了。
由於不甚了解,以上論述不針對國內的遊戲。這個說法其實在遊戲圈還是蠻盛行的,而且很多時候謠言的源頭就是遊戲廠商自己——也就是說被害者自黑。
硬體廠商先黑軟體商然後軟體商主動接過黑鍋這種玩法我見太多了,32位戰爭中牛皮都吹破天了,我們剛發揮了30%,這次只用了50%機能,我們來不及進行優化等等。遊戲機賣得好,機能是很重要的原因,尤其是機器推廣初期,根本沒幾個遊戲的時候,機能好會給玩家「這機器還有潛力,只要我買了說不定以後遊戲就會多起來」的錯覺。所以「遊戲畫面差」=「軟體公司編程水準低」這樣的說法對雙方都有好處。反正遊戲已經出來了,畫面好壞大家都看得見,軟體商絲毫不在意背這個黑鍋,畫面越好軟體商越喜歡假裝謙虛,讓玩家期待下一作的進化。而硬體商則是扎紮實實受益,某3A大作解析度是720P,是因為軟體商根本沒有理解我們設計eSRAM的目的,某遊戲畫面遠遜於對手平台的,是因為軟體商沒有充分利用我們主機的8個協處理器。你不要看現在的畫面差,我還能變身3次。
而PC遊戲這邊,玩家群體與主機不同,玩法又不一樣。在地球的主要遊戲市場,重要的遊戲要麼只有遊戲機版,要麼是全平台(除非是MMORPG和RTS這種),為什麼玩家還要買PC版?就是因為PC的優越感啊!PC核心玩家之所以捨得在PC上花錢,就是為了在參數和畫面雙方面碾壓主機狗,最好是有什麼新特效全給用上,明明遊戲機版是個DX7水平的遊戲,PC版非得連DX9.1C的特效都給用上。面對這樣的用戶,你壓榨機能給誰看?相反,你得宣稱:現在市面上沒有一塊顯卡跑得起我們的遊戲,即使最強顯卡交火併聯,也只能穩定在15幀!我們不知道什麼叫優化,我們唯一的使命就為大家提供最頂級的影音盛宴!你得研究玩家的心理,願意掏兩千美金攢PC的玩家,根本不在乎再多掏兩千。什麼叫PC發燒友你知道嗎?PC發燒友就是,買什麼東西都買參數最高的,不買最實用的。所以,我們做PC遊戲的口號就是,不求最好,但求最燒!
我說的這些話,大家先別忙著評論,先摸自己良心1分鐘,準備好了,覺得上對得起列祖列宗下對得起戈登摩爾了,再評論。
遊戲實際可以無限需求機能,因為現在遊戲對於「真實」的模擬還差得遠。
什麼?機能很足?可以跑個大規模rigid body模擬啊。還有機能?再來點fracture吧。還沒跑滿嗎?那再跑幾個衣物模擬吧。什麼,還可以?那麼再整點流體吧。這也能跑?
已經科幻了啊!那再加點全局光照吧!機能浪費這種話,只有索尼這種做出PS3的公司可以毫無廉恥的說出來。作為在PS3上編過程的人,我想說正因為PS3的架構導致了遊戲開發商需要在演算法和系統優化上格外下功夫,成本翻倍的玩,才能夠「充分」利用主機機能。你的機能是利用了,你不覺得沒有充分利用大家的時間嗎?debug一個spu的memory error還要step spu的亂序執行寄存器,程序員都被玩壞了。還他媽浪費機能。。。這種說法是一種硬體為中心的說法,但事實是主機只是一個軟體平台,應該充分為開發者提供方便。他們要做的唯一一件事,就是讓機能能夠簡單充分的被利用。沒做到這一點就應該下課了。事實證明也是如此。
LOOK AT THIS UGLY FUCK! THE INSTRUCTION POINTER JUMPS AROUND LIKE AN EPILEPTIC GOAT!
GOOD JOB SCREWING YOUR DEVELOPERS, SONY.後來rage quit了遊戲開發兩年,很大程度是因為這段經歷。其實恰恰主機玩家對遊戲畫面的要求比pc玩家低得多,五年或更長時間畫面不變都能忍受,但付出的代價高得多。
回到問題上,現在的程序員最熟悉的編程肯定是x86架構下的,至於浪費機能我覺得最大的問題就在於每個玩家電腦配置不同,程序員不能針對特定硬體進行量身定做。
Ps4不能60幀,那我就統一30幀,電腦卻不能這麼弄。ps4達不到1080p,那我就統一900p,電腦也不能。PC遊戲和主機遊戲的盈利點是略有不同的。
許多PC遊戲不僅僅是靠純軟體銷量,也是和硬體銷售相關的。買顯卡送遊戲,遊戲專門為某個廠的顯卡優化(N卡或者A卡),包括性能提升、某種特效只能在某卡上開啟,特別支持DX11之類。簡單來講,軟體促進硬體銷售,硬體保證軟體跑得物有所值,高大上,讓骨灰PC玩家有理由鄙視主機狗。
那麼結論就是顯而易見了。為PC遊戲做性能優化,跟促進硬體銷售是背道而馳的,屬於多幹活得罪人的典型。一遊戲如果在中端顯卡上能高清60FPS跑得歡,那些SLI雙卡甚至三卡的玩意有什麼理由能賣?靠人為提高遊戲配置,甚至劣化演算法來促進硬體銷售,是PC遊戲業界不爭的事實。
而從另一個方面看,是否那些變態配置就給遊戲帶來了革命性的進化?答案當然是否定的。原因非常簡單:受眾。一旦開發出來了誰給你買單?舉例來說吧,假設本座今天開發了全新的光線追蹤演算法,能做出個4K遊戲畫面讓你完全辨不出真假,讓主機狗徹底退散。但這遊戲只有三卡SLI,64GB內存,外加四個XEON CPU才能跑,還得有4K顯示器。那麼這個遊戲根本回不了本,因為市場上擁有這種變態機子的骨灰玩家太少了。這種模式在商業上是不可行的。
各方面權衡下來,目前遊戲業界的基本模式就是立足主機,主機版先出撈回本,再加一點點能讓PC玩家有優越感的換湯不換藥的料賣個PC版,順便再和N卡A卡合作下加個logo。PC版的提升無非就是那麼幾個:曲面細分(注意這是無成本的硬體自動填充三角形,模型給PC版重新做那是不可能的),高解析度(技術上基本沒有成本,改個參數就可以,當然貼圖還是原來主機的精度,重新做高解析度的基本不會),一些N卡A卡的獨有的特效(玩的時候不是寫輪眼一般看不出來),再加個PC版獨家的複雜場景用來跑分。就這麼玩有時候還會玩壞:當年Crysis2就出了這麼個醜聞,拿曲面細分來渲染路障,還為看不見的地下河建模。
可以這麼說:真正的圖形進化基本上都是為了主機實現的。這並不是因為遊戲程序員都是主機狗,而是因為一旦在主機上遊戲畫面能有所突破,那利潤非常可觀。遊戲機數年之內配置都固定,要想在競爭中勝出,比的就是哪家能更壓榨性能。一個非常突出的例子就是地球模擬神機PS3上的Killzone 2. Gurilla小組利用CELL的7個SPU把延遲渲染用得淋漓盡致,造就了Killzone2無與倫比的驚艷的畫面。 為什麼Gurilla這麼做?一方面固然是當年E3時候Killzone2的demo吹得牛逼太大,頂在杠上了,另一方面是PS3的裝機量保證了相當的FPS畫面黨會為Killzone2買單,所以可以下大錢做研發。相比之下,PC遊戲引擎的領軍人物Crytek落到了連工資都發不出的地步 (欠錢還有理了?Crytek稱不發工資是為保命-Crytek,工資,拖欠,保命),這和他們的顯卡殺手引擎曲高和寡也有一定關係。PC和主機是兩種完全不同理念、不同用處的東西,雖然都能玩遊戲。
試問世界上有幾種配置的PS4?一個。
那世界上有幾種配置的PC?無數種。
由於主機硬體的統一性,各個遊戲廠商可以很精確的優化他的遊戲,讓它完全匹配主機的硬體,做到不浪費一絲性能。可是PC卻做不到,由於硬體配置太多種,很難精確優化,只能籠統的優化。這就像均碼鞋和43的鞋,穿起來舒適度肯定不同,設計時肯定也很不同。就比如dayz這遊戲,完全沒有優化的存在,用780開高效幀數都不穩定,但是鑒於他現在是測試版,也就pc能跑的動了……以後要上市,甚至號稱登陸主機,還有很長的優化路要走。(每天玩的我蛋疼無比)
另一方面,主機是一種幾乎完全用來玩遊戲的設備,可以說它的每一個設計都是為玩遊戲考慮的,但是除了遊戲,其他方面就差強人意了。甚至很多事情它都幹不了。但是PC呢,他的設計並不是單單為了遊戲,甚至說最初並不是為了遊戲而生,而是計算。它主要考慮的是對各種不同需求的實現和系統的穩定。
一台PC除了玩遊戲,還能做設計,做視頻,做圖片,等等很多工作,但是主機無法像PC一樣流暢的實現這些工作甚至無法實現。這就是最大的區別,一個專註遊戲,把每一點有效的機能都毫無保留的用到,另一個專註廣泛應用,讓自己能勝任儘可能多的工作。有些人說,我花3000塊買的主機,能玩各種大型遊戲,你得花6000塊才能用PC玩到同樣畫質的遊戲。但是花6000塊買到的,除了遊戲機,還有高速瀏覽網頁,設計圖片,製作視頻,甚至當伺服器,當練網遊多開的掛機電腦等等功能。多了3000塊能幹這麼多事,還是挺值的。
至少我是個興趣廣泛的人,不會浪費這些機能。主機配置幾年不變,開發商必定拚命壓榨機能。pc迭代迅速,配置型號異同,大多開發商都懶得深入優化,pc上的各種特效也是層出不窮,開發商又把這些特效運用到pc上,死命折磨CPU,gpu,使得本就不完全發揮性能的硬體再打折扣。。。。。
主機遊戲有固定的平台,遊戲廠商只用為3種左右的硬體平台做優化,
但是PC每個人用的配置都不一樣,賣PC端遊戲的收益又完全不如主機上的,so哪個遊戲廠商也不會做這種吃力不討好的事吧不針對對應的硬體做優化,PC跑起來當然要的配置就比主機高而且往往還不如主機上流暢而主機上能流暢遊戲是必須的,而且不太可能經常更新,所以主機廠商推出的機型肯定有能適應一段時期主流遊戲的配置適當超前的必須的,但還不至於為了升級硬體而升級硬體PS:用PC玩主機遊戲這種幻想早就破滅了,有良心為PC端做優化的廠商還有幾個?玩PC端還花錢買遊戲的玩家又有幾個?遊戲製作公司拎得比你清楚,同樣一塊錢花在演算法提升上和花在其他地方,哪個對最終效果提升更大,這點遊戲製作公司是最在乎的。還是一個約束條件的問題,當硬體不是稀缺資源的時候,不如就用得揮霍一點。當硬體稀缺的時候,那些注重演算法的公司就有更高的比較優勢,一切都是在自由市場的框架內。
優化都是有代價的
你老婆對你的要求越來越高也很可能只是在刁難你。
真的很貴,逼你買ps4. 然而顯卡也是有人買的。
說白了就是懶得優化或者壓根就不會優化
推薦閱讀:
※為什麼計算機和一些電子產品的時間選擇在1970年?
※電腦長期不關機到底好還是不好?
※生物信息學所用的計算機知識和CS專業的計算機知識有多大不同?
※生物背景入門生物信息學需要補哪些計算機知識?
※既然在 Windows 中文檔放在桌面重裝系統就沒有了,為什麼默認是C盤而不是其他盤?