我在玩steam遊戲的時候發現linux效能表現比Windows好很多,然後我發現Windows下預設是DX12渲染,linux下預設是vulkan。我猜vulkan的效能更好些?
總的來說,Vulkan比起DX12在於“步子沒有邁的太大,所以沒有扯到蛋”。
從往年的經驗來開,一種新API,新技術的推行過程大概分為以下幾個階段:敢於創新的大公司工作室,自研引擎開始嘗(cai)試(keng)->商業引擎開始大規模推行->使用商業引擎的開發者逐漸接受->業界流行。
那麼目前Vulkan的情況是怎麼樣的呢,Vulkan表現出的系統相容性已經不需要多說了,他主要的短板在於驅動支援,老黃的新版驅動已經完美解決了這個問題,至少執行起來,各種壓力測試都沒問題,一些惡意的bug,如視訊記憶體溢位,也是正常的報錯並強制退出應用,不會導致系統藍屏宕機等。
Vulkan已經走到了“第二階段”,現在商業引擎中,Unity3D已經發布了跨平臺的Vulkan穩定版本,注意是穩定版本,之前兩年一直是experimental,我們自己的專案已經開始嘗試使用了,多執行緒渲染管線,繪製提交比起DX11來說,效能提高高達20-40%,當然實際遊戲中因為繪製指令提交的時間佔整個遊戲執行的時間並不會很多,所以實際提升肯定也不會有這麼顯著,但是起碼證明,Vulkan在Windows,安卓等跨平臺的執行效果良好。
至於DX12,則是“第一階段”都沒過去,目前各3A大廠還在積極踩坑DX12,一部分已經深深的掉進了坑中,比如殺手6,殺手6使用的冰川引擎在開啟mesh reuse和async compute以後,幀數只有dx11的1/3(#手動捂臉#),古墓麗影,狙擊精英等遊戲已經保證了DX12勉強達到或高於DX11的效能,但是遠遠沒達到微軟釋出的Demo那樣數十倍的效能,究其原因,個人認為還是“步子邁的太大”,DX12的理念可以說十分先進,乃至過於先進,首先它非常靈活,而且是基於Agressively GPU Driven, Async Compute等管線設計思想,是一種面向未來的API,微軟正確的預判到未來的GPU發展,以及其在主機,PC平臺的地位變化,認為GPU在渲染管線的繪製階段中將徹底代替並解放CPU,並使CPU只專注於周邊的工作,如流式載入,LOD等。然而這就意味著之前所有的管線,包括DX11的管線,將基本失去作用,因此各方面的研發曲線也會十分陡峭。同時,目前的PC,主機平臺硬體還沒有達到微軟的預想狀態,這些方面都還有很長的路要走。
那麼,第一階段都還沒完全過去,第二階段就不用說咯,各大商業引擎也只是隨意的掛上一個DX12的支援,然後標記成experimental,並且在其預設管線下理所當然的不如DX11效率高。
所以本人的結論:目前來看Vulkan已經初露鋒芒,而DX12的普及也並非遙遙無期,起碼從理論上講DX12在主機上和PC上是會大放異彩的。
總的來說,Vulkan比起DX12在於“步子沒有邁的太大,所以沒有扯到蛋”。
從往年的經驗來開,一種新API,新技術的推行過程大概分為以下幾個階段:敢於創新的大公司工作室,自研引擎開始嘗(cai)試(keng)->商業引擎開始大規模推行->使用商業引擎的開發者逐漸接受->業界流行。
那麼目前Vulkan的情況是怎麼樣的呢,Vulkan表現出的系統相容性已經不需要多說了,他主要的短板在於驅動支援,老黃的新版驅動已經完美解決了這個問題,至少執行起來,各種壓力測試都沒問題,一些惡意的bug,如視訊記憶體溢位,也是正常的報錯並強制退出應用,不會導致系統藍屏宕機等。
Vulkan已經走到了“第二階段”,現在商業引擎中,Unity3D已經發布了跨平臺的Vulkan穩定版本,注意是穩定版本,之前兩年一直是experimental,我們自己的專案已經開始嘗試使用了,多執行緒渲染管線,繪製提交比起DX11來說,效能提高高達20-40%,當然實際遊戲中因為繪製指令提交的時間佔整個遊戲執行的時間並不會很多,所以實際提升肯定也不會有這麼顯著,但是起碼證明,Vulkan在Windows,安卓等跨平臺的執行效果良好。
Vulkan已經走到了“第二階段”,現在商業引擎中,Unity3D已經發布了跨平臺的Vulkan穩定版本,注意是穩定版本,之前兩年一直是experimental,我們自己的專案已經開始嘗試使用了,多執行緒渲染管線,繪製提交比起DX11來說,效能提高高達20-40%,當然實際遊戲中因為繪製指令提交的時間佔整個遊戲執行的時間並不會很多,所以實際提升肯定也不會有這麼顯著,但是起碼證明,Vulkan在Windows,安卓等跨平臺的執行效果良好。
至於DX12,則是“第一階段”都沒過去,目前各3A大廠還在積極踩坑DX12,一部分已經深深的掉進了坑中,比如殺手6,殺手6使用的冰川引擎在開啟mesh reuse和async compute以後,幀數只有dx11的1/3(#手動捂臉#),古墓麗影,狙擊精英等遊戲已經保證了DX12勉強達到或高於DX11的效能,但是遠遠沒達到微軟釋出的Demo那樣數十倍的效能,究其原因,個人認為還是“步子邁的太大”,DX12的理念可以說十分先進,乃至過於先進,首先它非常靈活,而且是基於Agressively GPU Driven, Async Compute等管線設計思想,是一種面向未來的API,微軟正確的預判到未來的GPU發展,以及其在主機,PC平臺的地位變化,認為GPU在渲染管線的繪製階段中將徹底代替並解放CPU,並使CPU只專注於周邊的工作,如流式載入,LOD等。然而這就意味著之前所有的管線,包括DX11的管線,將基本失去作用,因此各方面的研發曲線也會十分陡峭。同時,目前的PC,主機平臺硬體還沒有達到微軟的預想狀態,這些方面都還有很長的路要走。
那麼,第一階段都還沒完全過去,第二階段就不用說咯,各大商業引擎也只是隨意的掛上一個DX12的支援,然後標記成experimental,並且在其預設管線下理所當然的不如DX11效率高。
所以本人的結論:目前來看Vulkan已經初露鋒芒,而DX12的普及也並非遙遙無期,起碼從理論上講DX12在主機上和PC上是會大放異彩的。