DirectX是什麼?選DX11還是DX12?

主機和電腦不同,電腦的配置千差萬別,性能差異、硬件屬性、開發接口、資源調用方式也不同,因此PC遊戲開發的硬件適配和硬件性能優化非常複雜、困難,需要更加龐大的具有專業硬件知識團隊不斷進行適配和優化調優。這大大增加了開發團隊規模和成本,以及開發週期。

而這這就是DirectX的作用所在

DirectX是微軟開發的一種應用程序編程接口 (API),可讓軟件開發人員更輕鬆地與 Windows PC 上運行的不同硬件組件進行對話。

想象一下,顯卡是個超級能幹但不會說人話的廚師,遊戲開發者是點菜的顧客,Direct X就是中間的翻譯。它幫開發者告訴顯卡:“我要一個光影效果爆炸的場景,還要流暢!”Direct X把這些需求翻譯成顯卡能懂的指令,顯卡就能高效地渲染出畫面。

DirectX 大致分爲三個部分:

Direct3D負責提供使用顯卡渲染3D對象的API

DirectDraw負責提供使用顯卡渲染2D對象API

DirectSound負責使用聲卡提供更好的音頻效果API

當然,類似的API標準還有OPENGL和Vulkan,不過它們更多集中在圖形渲染上,甚至某些情況下使用Vulkan的遊戲可能圖形性能還略好於DX。

但這些第三方API,對於聲音等的API的廣度不如DirectX。加上微軟手持對Windows底層硬件代碼的掌握,因此在系統整體性能的整合上更具有一定優勢,所以自從它推出以來,迅速佔領了開發社區。

自從DirectX推出以來,產生巨大影響的有四個版本,即DX7、DX9、DX11、DX12。

而目前3A大作和主流遊戲引擎,主要採用的是Win8推出時候集成在Windows中的DX11,和Win10推出時同步集成的DX12。

DX11成熟穩重,兼容性拉滿

Direct X 11是個成熟的老大哥,用得廣、穩得住。它就像一臺調校得很好的老款跑車,開發者用起來得心應手,能榨出顯卡不少性能。
Direct X 11擅長處理複雜的着色器(Shader,決定光影、紋理的程序),支持多線程渲染,能讓CPU和GPU有一定的並行工作能力。

它還有個優勢就是兼容性強,幾乎所有稍微現代的顯卡都支持Direct X 11,所以開發者愛用它,玩家也不用擔心硬件跟不上。

Direct X 11當然也有短板,它的多線程優化不夠徹底,CPU和GPU的協同工作有點像接力賽,經常得等一等,效率不高。
尤其在高負載場景下,比如《戰地》系列那種爆炸和粒子效果滿天飛的畫面,Direct X 11作爲API使用就可能會讓CPU忙不過來,於是你會看到那種“定住的卡頓”

而且,Direct X 11對顯卡的控制比較“高層次”,開發者沒法直接指揮顯卡的底層操作,想榨乾硬件性能有點費勁。

DX12性能拉滿,但門檻更高

Direct X 12就像個更聰明、更直接的翻譯,減少了中間環節,讓開發者能更貼近顯卡的“內心”。最大的特點是底層API設計,簡單說就是給開發者更多控制權,能直接對顯卡下精細指令。
比如Direct X 12能讓CPU把渲染任務拆得更細,分給多個核心同時處理,GPU也能更高效地執行。
這意味着在複雜的遊戲場景中,Direct X 12能減少瓶頸,讓畫面更流暢,尤其對那些中低端顯卡用戶來說,幀率提升很明顯。

Direct X 12還有個殺手鐧:它支持一些高級圖形技術,比如光線追蹤(Ray Tracing)

但這也有代價,光追對顯卡性能要求極高,沒塊高端卡可能跑不動。Direct X 12還改進了資源管理,比如顯存分配更靈活,能讓遊戲在高分辨率下相對更加流暢。

只要硬件支持,DX12總體性能更好

對實際性能表現來說,遊戲分爲畫質性能和流暢性能。前者由於DX12支持更多新的顯卡渲染特性,因此畫質上面,一般是要優於DX11的。特別是2015年以後的3A大作,體現更爲明顯。

而在流暢度方面,由於DX12引入了並行處理和一部運算等更適應8核以上CPU或者大小核設計的異步運算架構CPU,因此在喫CPU性能的遊戲上的優勢更加明顯。

同時由於DX12能夠將運算負載分配在CPU的多核+集顯+獨顯,因此在優化到位情況下,微軟聲稱可以節約最高50%的系統資源,流暢度也更好。

不過,這一切建立在遊戲基於DX12開發,且你的硬件平臺具有所有的DX12特性支持上。

爲什麼還有很多遊戲還提供Direct X11 ?

聽起來Direct X 12不要太好了,但爲什麼還有不少遊戲提供Direct X 11選項呢?

這就要說一下Direct X 12的缺點了——它的低層設計雖然強大,但對開發者要求更高,代碼複雜度急劇提高。同時,Direct X 12對硬件和系統要求更高,只支持Windows 10及以上系統,老顯卡也無法兼容。
所以,你會看到很多遊戲同時支持Direct X 11和Direct X 12,遊戲廠商得權衡兼容性和性能,比如《三角洲行動》《永劫無間》都提供了Direct X 11的支持。

所以,你能看到哪怕是目前最新的GeForce RTX 50系列、Radeon RX 9000系列、Intel ARC系列顯卡,都是支持Direct X 11、Direct X 12雙API的

無論是DX11的“穩”,還是DX12的 “強”,最終都是爲了讓玩家能在屏幕前,享受到更沉浸、更流暢的遊戲。


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

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