玩遊戲爲啥要編譯着色器?咋提升速度?

我相信絕大部分人玩《影之刃零》,第一個被搞破防的,不是難打的BOSS鬼新娘阿花,而是這個——編譯着色器!

不知各位萌新等編譯等了多久啊?有沒有CPU被燒壞的?爲啥第一次玩遊戲要編譯着色器呢?

來來來,今天開關芝士要講知識了,爲了便於理解,我先來舉個例子!

我呢是青海出生的,我很喜歡喫炕鍋羊肉,尋思着做個菜譜教程,給大家分享:

但當我用青海話,做好教程後發現:世界這麼大,有的人說粵語、有的人說法語、有的人說鳥語...他們根本聽不懂我說的青海話教程啊。

我不可能把全世界語言都學習一遍,這腦細胞根本塞不下,歷史上應該也沒人做到...

於是乎,我們大家所有人都約定好:一起學個通用語言,比方說英語吧。學會後,我只需把青海話的教程,做成英語版本,上傳到網上。由於大家都學了英語,再翻譯成自己平常用的對應語言,就能看懂怎麼做炕鍋羊肉啦!

吶!這個翻譯,就相當遊戲編譯着色器的過程。遊戲廠商製作一款遊戲,假如用的是5090顯卡,建模好刀光劍影、寫好代碼邏輯打包上傳後,方便玩家下載遊玩

但全球玩家千千萬,有的玩家並沒有5090,像我用的5060、你用的是筆記本、他用的是小天才手錶...不同人設備不同,底層代碼都不一樣、硬件語言不通,那遊戲下下來後,顯卡只會說這啥玩意啊,咋使啊?

一樣的,遊戲廠商不可能針對每款顯卡都寫一套代碼,就算遊戲廠商真的逆天改命、硬是針對所有設備都寫代碼,打包起來也是萬億TB級別的文件,可能除了馬斯克這種有海量存儲服務器的首富,沒幾個人能下載這麼大的數據

因此,遊戲廠家和各家硬件廠商約定好:制定一套通用代碼語言(如DXIL / SPIR-V)。做好遊戲後,遊戲廠家先用通用代碼語言翻譯一遍,再上傳到網上;

而玩家下載好遊戲後,再用通用代碼語言,翻譯成顯卡能聽懂的話,這個過程就是着色器編譯!

新的問題來了,如何提升着色器編譯速度呢,你覺得和什麼硬件有關呢?比較反直覺的一點是:

雖然玩遊戲、編譯着色器看着和顯卡息息相關,但實際上編譯過程是由CPU執行的!你看我編譯過程中,CPU佔用直接喫滿,而顯卡卻在曬太陽:

這時移動鼠標、打開網頁、加載視頻都慢半拍,屬於是走一步卡三步...

因此提升速度的方法只有一個:那就是用多核性能更好的CPU!我測了下,i5 12400F編譯總耗時,約50分鐘,真的是卡出翔,差點沒給我OBS錄屏崩開線了:

而換成多核性能更強的i5 14600KF後,編譯總耗時直接壓縮到11分鐘,省了38分鐘,大大減少等待時間!

這裏我也測下AMD的CPU,由於D4平臺AMD只有R5 5600,估摸和12400F一樣會折磨我50分鐘,就不拉出來測了....

最終拉來了D5平臺的熱門選手R5 9600X,編譯着色器耗時約21分鐘,相對整體便宜的D4平臺14600KF慢了約一倍:

多核CPU的優勢就在這兒,除了編譯,應對生產力任務時,14600KF甚至270K PLUS這種旗艦CPU可謂是多多益善!不知大家用的啥CPU,等了多久啊?

多核CPU的優勢就在這兒,除了編譯,應對生產力任務時,14600KF甚至270K PLUS這種旗艦CPU可謂是多多益善!不知大家用的啥CPU,等了多久啊?

言歸正傳!遊戲本身複雜度也會影響編譯速度,因此後續再有啥新的大型3A發售,除了換強大的CPU外,建議提前在工位遠程電腦預先編譯着色器,這樣下班後,咱們打工人就可以第一時間玩耍啦!

不講玄學,只聊體驗!這裏是爲萌新科普的開關芝士,我是豆爵

歡迎你點贊關注電電我,將持續爲廣大萌新科普服務!

往期文章

給日本顧客賣了臺電腦,結果到手點不亮......

激動的心、顫抖的手:人生第一次賣5090夜神!

【宿舍臺式電腦生存指南】限電、斷電、斷網全搞定!

揭密!裝機行業“內幕”,整機電商是怎麼賣電腦的?

PDD電腦整機爲啥那麼便宜?有沒有什麼坑?

更多遊戲資訊請關註:電玩幫遊戲資訊專區

電玩幫圖文攻略 www.vgover.com