《戰錘40K:暗潮》性能分析和系統要求


3樓貓 發佈時間:2022-11-23 17:02:58 作者:肥鯊Fatshark Language

STEAM商店頁原文鏈接:https://store.steampowered.com/news/app/1361210/view/3467237196841631255


大家好!


我是肥鯊(Fatshark)的聯合創始人和首席技術官理Rikard Blomberg。1983年我第一次用來編程的計算機(或者說接觸到的電腦)是一臺ABC80,當時任何類似圖形的東西就是我們現在所說的ASCII代碼“藝術”。自那時起,計算機技術迎來了天翻地覆的發展。

 

今天,我們將發佈《戰錘40K:暗潮》的詳細系統需求,包括高端配置和支持RTX和DLSS 3等NVIDIA技術的機型。與此同時,我們還會深入分析一下《暗潮》的遊戲性能和預期體驗,並向玩家分享利用現有的硬件配置獲得最佳遊戲體驗的指南。

 

我們開始製作第一人稱或第三人稱遊戲的歷史可追溯到《鉛與黃金:西部狂野之爭》(Lead and Gold)。自那時起,終端用戶的幀率和遊戲體驗等性能問題一直是我們考慮的重中之重。即便如此,我也無法說出哪款出自本工作室的遊戲在性能方面能夠讓我們完全滿意。為什麼呢?因為作為遊戲開發者,我們深知遊戲各項具體參數的關係就如同一場“拔河”,對性能都有影響,不可能面面俱到。

 

我們認為,只有維持各方面的平衡,才能做出最好的遊戲,因為這樣才不會出現個別方面凌駕於其他方面之上。這並不等同於遊戲以後就沒有改進的空間,而是提醒開發者必須時刻注意我們的優先級。

 

《末日鼠疫》、《末日鼠疫2》和《暗潮》等遊戲正是在這種宗旨下誕生的出色案例。就維持穩定的高幀率而言,這些遊戲並非完美無缺,但與其在敵人數量或關卡畫質方面做過多的妥協,我們仍選擇按這樣的原則開發遊戲。我們認為,大部分玩家都可以接受遊戲過程中出現短暫掉幀的情況。我們深知,對於競技遊戲,這麼做很難讓玩家買賬,但這對於我們這類合作型遊戲來說是必要的妥協。但是,我們是否對當前遊戲的性能水平感到十分滿意呢?並不是,我們永遠也不會百分百滿意。只要我們的遊戲還有工作人員在維護和改進,這場“拔河”就永不停息。

 

在這種情況下,我們投入了大量的精力,不僅希望遊戲在測試階段就達到較出色的性能,還想通過發售後獲取的玩家實際數據和反饋來確定遊戲開發的優先級,力求打造最好的遊戲性能。

 

大體上講,我們的遊戲也面臨了類似的挑戰。遊戲世界中,各種事件林林總總,還有好多敵人,都由AI操控著,身穿的服裝和配件細節異常豐富。我們還必須依賴大量的物理模擬去處理主要的近距離戰鬥場景(其中包含無數實體的移動和交互)。

 

擁有超多內核的新型硬件現在已不足為奇,而在現代處理器的加持下,實現並行處理的前景還是很可觀的。但是任何遊戲開發者都會告訴你,這絕非是徹底解決問題的良方。實現並行處理的前提是遊戲各個性能項以並列而非順序的方式運行,這意味著它們必須相互獨立。然而,大部分遊戲代碼,特別是涵蓋玩家以及玩家和世界之間互動方面的代碼,難以實行並行處理,因為管理這些代碼的規則之間通常高度關聯,而不是獨立的。在我們的遊戲裡,能夠並行處理的內容也僅限部分人所理解的較低端的系統,比如升級動畫、資源處理、向GPU發送命令等。但是,就算這些方面可以並行處理,我們的遊戲對CPU的佔用依然較高。

 

我們不妨先來探討一下CPU、GPU,以及它們與幀率之間的關係。作為新時代的玩家,你們可能在上幼兒園時就瞭解到這些內容,比我小時候強多了。但是,我這個老頑固有一條基本原則:世上沒有不值得問的愚蠢問題。

 

幀率(Framerate)就是每秒鐘渲染在顯示器上的幀數。不過,作為遊戲開發者,討論幀時(Frametime)才更為實際。幀時是幀率的倒數,表示完整渲染一幀到顯示器上所用的時間。我們通常以毫秒為單位衡量幀時。換句話說,每秒60幀的幀率就相當於大約16.7毫秒的幀時。

 

為了實現幀時等於或小於16.7毫秒,遊戲在單次更新(一幀)中的所有操作都必須在這個時間內處理完畢。這意味著此時的CPU必須在這一時間內處理邏輯實體、物理、碰撞、AI、發送和接收網絡消息、構造和向GPU發送指令等所有更新。同樣,GPU必須能夠在這一時間內處理所有來自CPU的指令,應用代碼轉換和放置對象、鑲嵌表面、渲染陰影和光照、進行後處理等。如果這兩個部分(GPU或CPU)的性能不匹配,遊戲的幀時/幀率將取決於處理速度較慢的內核。

 

為了充分利用硬件的各項特定配置,CPU和GPU必須達到相近的幀時才不會彼此“拖累”。所以,在優化遊戲時,我們通常會著眼於兩者中速度較慢的一方,並努力尋找加快其處理速度的方法。

 

如前所述,並行處理對CPU的要求很高。我們會盡量識別相互獨立的任務,交給CPU的其他線程來處理,從而或多或少地從總幀時中節省一點時間。我們還會找出那些可能不需要處理或不應該一直處理的部分。也許這些步驟每10幀處理一次就足夠了,沒有必要每一幀都處理一次。其次,還有很多更具體的處理技巧、應避免或提倡的模式等,都可以考慮優化。

 

縮短GPU幀時通常比縮短CPU幀時更容易。我們特地為玩家公開了一系列對GPU幀時影響較大的渲染設置。

 

降低分辨率、關閉高級視效、使用與硬件相配的縮放比例和抗鋸齒,這些都可以由玩家自行設置,以便縮短GPU幀時並提高幀率。

 

儘管如此,我們通常也會花費大量精力調整遊戲的內容和渲染功能,確保GPU能保持較低的幀時。

 

● 減少每幀的繪製調用(draw calls)數量。

○ 手動從關卡中移除對象

○ 改進關卡中的剔除機制,玩家視角看不到物體的時候不進行繪製

○ 用更少的材質創建分辨率較低的網格細節層次

○ 將多個對象合併成更大的單個網格

○ 利用實例化組合繪製調用

 

● 縮短渲染單個對象的時間

○ 創建更低分辨率的網格細節層次

○ 刪除著色器中某些情況下可能不需要的特性

 

● 優化和改進高級渲染功能,如後期效果和材質/光照模型,更好地利用硬件。

 

 

對於每一款新遊戲,我們都希望將技術和遊戲引擎的水平提升一個檔次。這不僅是為了完善遊戲本身,也是為了提高我們的整體技術水平。在當時看來無用的新功能或奇怪的優先處理項可能會對未來的更新和遊戲產生重大影響。

 

在技術方面,我們在《暗潮》開發之初就發現了一些想要改進或回爐重鑄的內容,主要包括:

 

● 改變並改進網絡模型(這是主題涵蓋範圍太廣,希望後續能另起一篇獨立的博文詳述)。

● 過渡到僅能用DX12渲染的後端,以便利用更多DX12的新功能。

● 改進光照視覺質量以及光照工作流程。

● 用對代碼依賴較少的新方法創作和處理武器、裝飾和其他物品等遊戲內容。

● 以更大的結構單元為基礎構建關卡,以便更有效地製作多關卡內容。

● 改進技術捆綁策略,優化遊戲下載包的大小和磁盤大小要求。

 

為了忠實於《戰錘40K》的世界觀,我們必須讓整個遙遠的嚴酷世界充滿黑暗。但我們應該如何製造黑暗?不添加光照就可以了嗎?這個問題的回答是:把黑暗中僅有的光源做得更好、更逼真、更吸引眼球。

 

因此,我們需要改進環境光照模型。在《末日鼠疫2》中,環境光照模型主要由非常稀疏的烘焙探針信息和全局環境光覆蓋組成。從本質上來說,我們想要在場景中添加全局光照,並確保放置在遊戲世界中的物體能夠準確地烘托光照效果。有了更精確的環境光照後,也不能忘了鏡面光照和反射,因為它們會讓整個場景的效果更一致。很明顯,我們必須在這方面做出大幅改進,才能不辜負《戰錘40K》世界應有的嚴酷和黑暗氛圍感。

 

幸好,目前有一項出色的備選技術可以解決這個問題,即光線追蹤,確切的說是利用RTXGI技術渲染全局光照。

 

尤其是在硬件支持方面迎來了一波爆發式增長之後,光線追蹤成為了遊戲渲染領域的新秀。從渲染開發的角度來看,光線追蹤也很有吸引力。針對更傳統的光柵化渲染時出現複雜的極端情況,光線追蹤提供了統一的解決方案。


NVIDIA DLSS 3和RTX支持

在與NVIDIA的合作下,我們選擇在渲染器中支持光線追蹤,並且最終實現了RTXGI和光線追蹤反射的優化效果。這也為我們繼續嘗試其他的光線追蹤功能奠定了基礎,未來有希望進一步改善陰影、透明度渲染和VFX(粒子等視覺效果)等方面。為進一步改善遊戲的幀時和響應時間,我們還決定支持其他RTX功能,如DLSS和Reflex。

 

我們最終選擇使用RTX全局光照(RTXGI)帶來的另一個額外好處是,我們決定用烘焙的RTXGI探針網格替換烘焙的環境光解決方案。這可以讓我們在開發引擎上使用RTX顯卡快速烘焙可應用到場景中的全局光照,哪怕GPU沒有足夠的配置來驅動這樣高級的光線追蹤功能。當然,如果你的主機GPU已經足夠強大,那就無法獲得完整的動態全局光照提升效果,但靜態全局光照仍然保留了場景中不錯的黑暗氛圍,否則遊戲場景將非常平淡和無聊。

 

如果沒有性能良好的超分辨率功能,開發光線追蹤等非常耗費資源的功能就沒有多大意義了,所以我們決定支持DLSS和Reflex功能。

 

其實,我們最初應用的是DLSS 2.1,但隨著項目的擴展,我們開始傾向DLSS 3。之後,我們抓緊了機會,將DLSS 3輕鬆集成到《暗潮》中。因為我們在開發過程中經常受到CPU的限制,所以帶有幀生成這種新型功能的DLSS 3成了我們的好幫手,而且我們早已集成了Reflex來處理增加的延遲問題。看到DLSS 3給我們帶來了巨大的幀率提升,我們感到非常高興。

《戰錘40K:暗潮》性能分析和系統要求-第0張

(*)這裡討論的是絕大部分情況。在極為複雜、細節密度極高的場景中,由於CPU的限制,有時仍可能會出現性能短暫下降的情況。


整體性能

為了使遊戲內容的質量和數量更上一層樓,開發《暗潮》的過程非常費時費力,但我們仍然願意支持廣大玩家不同的硬件配置。為了做到這一點,我們必須為許多功能和功能的保真度設計可調節的參數。我們也明白,對於許多玩家來說,搞清楚選擇哪種設置可以獲得最佳遊戲體驗並不簡單。因此,我們會在下文解釋如何理解和使用遊戲中的不同設置參數,並提供建議和提示。希望會對各位玩家有所幫助。

 

由於在遊玩《暗潮》的過程中,屏幕上可能會出現超過100個敵人,調整部分設置可能會提高戰鬥時的幀率。比如,減少布娃娃最大值(MAX RAGDOLLS)可以提升CPU性能(模擬的本地物理對象更少),而減少武器命中和血跡的貼花(MAX WEAPON IMPACT DECALS, MAX BLOOD DECALS)數量以及它們的時效(DECAL LIFETIME)可以提高GPU在類似情況下的性能。

 

大多數設置往往主要影響GPU,所以如果CPU性能不佳,提升幀率的方法就更為有限。在CPU性能有限的情況下,只有幾個設置可以調節,即:

 

● 布娃娃最大值(該數值對CPU的影響很大)

● 散射密度

● 鏡頭眩光(只有開啟最高選項“所有光照”才會對有CPU影響)

● 視野

 

主要與性能相關的設置

DLSS / FSR

圖像增強和升級技術在提高GPU性能方面備受推崇。對於GeForce RTX顯卡,我們集成了NVIDIA DLSS,這是使用AI輸出高分辨率幀的技術框架。我們增加了對兩種AMD的超級分辨率銳畫技術(FSR)升級技術的支持,這種技術可以在任何GPU配置上使用。它們的不同設置平衡了速度和質量,但請注意,大多數性能預設是為高於1080P的分辨率定製的。任何情況下只能使用以上三種可用技術中的一種。

 

在不使用這些技術的情況下以高分辨率運行遊戲將對性能產生巨大影響。

 

NVIDIA DLSS超分辨率

DLSS超分辨率技術使用AI輸出更高分辨率的幀,而不影響圖像質量或響應能力。該功能需要GeForce RTX顯卡。從質量模式(對視覺效果影響最低)到超高性能模式(性能提升幅度最大)的參數各不相同,後者最好在以更高分辨率(如4K)運行遊戲時選用。還有自動模式可選,可以根據配置自行設置最佳方案。

 

可選參數,按照對視覺效果影響最低、性能提升最低到對視覺效果影響最高、性能提升最高排序。


關閉⇒高質量⇒平衡⇒高性能⇒超高性能

 

 AMD超級分辨率銳畫技術1.0(FSR 1.0)

AMD超級分辨率銳畫技術1.0是一項尖端超級優化空間放大技術,可在任何GPU的基礎上以高幀率呈現絕佳的圖像質量。選擇性能最高的設置會降低圖像質量,建議在屏幕分辨率更高的情況下使用。

 

可選參數,按照對視覺效果影響最低、性能提升最低到對視覺效果影響最高、性能提升最高排序。


關閉⇒高質量⇒平衡⇒高性能⇒超高性能

 

 AMD超級分辨率銳畫技術2(FSR 2)

AMD超級分辨率銳畫技術2是一項尖端時域放大算法,可以較低的分辨率輸入生成高分辨率幀。該技術提供超高質量(對視覺效果影響最低)和高性能(性能提升幅度最大)的選項,後者最好在以更高分辨率(如4K分辨率)運行遊戲時選用。總體而言,FSR 2.0在更多種分辨率上的表現比第一代更佳,特別是在較老的硬件上,但缺點是消耗更高。

 

可選參數,按照對視覺效果影響最低、性能提升最低到對視覺效果影響最高、性能提升最高排序。


關閉⇒超高質量⇒高質量⇒平衡⇒高性能  

 

NVIDIA REFLEX低延遲

這是一項用於衡量和改善遊戲延遲的技術。啟用此功能可以降低系統延遲,提升PC響應能力。此功能對性能的影響非常小。BOOST選項將覆蓋GPU的省電功能,可以額外小幅度降低延遲。

 

可選參數:

關閉⇒開啟⇒開啟+BOOST

 

幀率上限

將幀率鎖定在最大值,可用於實現更穩定的幀率。只能與NVIDIA Reflex低延遲功能配合使用。

 

可選參數:

30⇒60⇒120⇒無限制(關閉)

 

抗鋸齒

抗鋸齒功能可以改善多邊形鋸齒狀邊緣的外觀,使其在畫面中呈現出平滑的效果。TAA比FXAA的效果更好,但GPU使用率更高。

 

可選參數,按照GPU負載從低到高排序:

關閉⇒FXAA⇒TAA

 

銳化

與TAA搭配使用可提高邊緣質量,會略微提高GPU使用率。

 

關閉⇒開啟

 

垂直視野

垂直視野用於控制呈現在顯示器上的可視遊戲世界範圍,以視野垂直方向的角度作為衡量參數。提高垂直視野會對性能產生很大的負面影響。視野對GPU和CPU均有影響。

 

可設置為45°(最窄)至85°(最寬)之間的數值。


光線追蹤相關設置光線追蹤預設

啟用DirectX光線追蹤(DXR),實現逼真的反射和全局光照效果。

根據以下方案設置光線追蹤。光線追蹤可能對GPU性能產生很大的影響,具體情況取決於設置。它對CPU性能也可能產生相對較小的影響。

 

《戰錘40K:暗潮》性能分析和系統要求-第1張


光線追蹤反射

啟用DirectX光線追蹤(DXR)可以實現逼真的反射效果。“低”預設結合將DXR與SSR相結合。“高”預設對GPU性能有很大影響,僅建議在高端硬件上啟用該選項。

 

可選參數,按照GPU負載從低到高排序:


關閉⇒低⇒高

 

RTX全局光照

啟用這個選項可以獲得逼真全局光照,利用光線追蹤在遊戲中呈現更精確的光照效果。主要對GPU性能產生影響。

 

可選參數,按照GPU負載從低到高排序:


關閉⇒低⇒高

 

通用圖像設置和預設圖像預設(畫質)

根據三個預設方案調整更細節(高級)的設置。此選項不會影響任何與視野、光線追蹤、性能等相關的設置。對於大多數玩家,選擇這些預設往往比較合適。查閱下方表格即可瞭解這三種預設方案的對應設置。

 

在設置“圖像預設”後更改任何高級設置都將變為“自定義”方案。注意,將設置從自定義更改為任何預設都將重置所有自定義設置。

 

《戰錘40K:暗潮》性能分析和系統要求-第2張

 

 

可選參數,按照GPU和CPU的負載從低到高排序:


低⇒中⇒高

 

高級設置環境光遮蔽質量

環境光遮蔽是計算場景間接光照的模型。我們使用組合自適應計算環境光遮擋(Combined Adaptive Compute Ambient Occlusion,CACAO)作為環境光遮蔽模型。提高環境光遮蔽(AO)質量會增加GPU的負載。

可選參數,按照GPU負載從低到高排序:


關閉⇒低⇒中⇒高


光源質量

影響光源和陰影的質量。參數越高,內存消耗和GPU負載越高。

可選參數,按照GPU負載和內存消耗從低到高排序:


低⇒中⇒高⇒極高


體積霧質量

設置遊戲中霧的視覺質量。提高霧的質量會增加GPU負載。

可選參數,按照GPU的負載從低到高排序:


低⇒中⇒高⇒極高


景深

增加附帶不同質量設置的鏡頭對焦效果。該設置將提高GPU使用率。

可選參數,按照GPU的負載從低到高排序:


關閉⇒中⇒高


泛光

通過後期處理實現的遊戲內明亮鏡頭泛光效果。該設置將略微提高GPU使用率。


關閉⇒開啟


皮膚次表面散射

通過後期處理實現的逼真人物皮膚效果。該設置將提高GPU使用率。


關閉⇒開啟


動態模糊

通過後期處理模擬運動的模糊效果。該設置將提高GPU使用率。


關閉⇒開啟


屏幕空間反射

通過後期處理生成遊戲內的反射效果。該設置將提高GPU使用率。

可選參數,按照GPU的負載從低到高排序:


關閉⇒中⇒高


全局光照

烘焙模擬間接反射光照,開啟光線追蹤時,光線追蹤全局光照將代替該設置,所以在該情況下啟用全局光照不會產生效果。


低⇒高


鏡頭質量

為鏡頭質量彩色邊紋和失真啟用後期處理效果。該設置將提高GPU使用率。


關閉⇒開啟

 

鏡頭眩光

為太陽光或所有光源添加鏡頭眩光效果。該設置將提高GPU使用率。

選擇“所有光源”還會對CPU產生細微影響。

可選參數,按照GPU的負載從低到高排序:


關閉⇒僅限陽光⇒所有光源


散射密度

縮放遊戲內碎片等細節元素的密度。散射密度越高,CPU使用率越高。

可以設置為0.0和1.0之間的數值


布娃娃最大值

設置敵人布娃娃的啟用數量。布娃娃數量越多,CPU使用率越高。

可以設置為3到50之間的數值


武器命中效果最大值

設置同時存在的武器命中效果數量。該設置將提高GPU使用率。

可以設置為5到100之間的數值


血跡效果最大值

設置同時存在的血跡效果數量。該設置將提高GPU使用率。

可以設置為5到100之間的數值


貼花時效

設置遊戲內貼花的存在時間(以秒為單位)。該設置將提高GPU使用率。

可以設置為10到60之間的數值


如需幫助

由於玩家的硬軟件配置存在巨大差異,我們很難預測各類配置下的GPU和CPU性能。如果您遇到性能問題,可以發佈在我們的論壇上,以便轉發給開發團隊。在提交問題時,請詳細描述問題,比如是屬於具體情境下發生的問題還是因設置變更而出現的問題,另外請附上您的硬件和設備信息,這有助於我們更快地解決您的問題。

 


© 2022 3樓貓 下載APP 站點地圖 廣告合作:asmrly666@gmail.com