顯示卡 DirectX 12效能測試, 與Mantle、DX11相較

soothepain

full loading
已加入
9/17/03
訊息
20,718
互動分數
1,914
點數
113
網站
www.coolaler.com
Mirosoft Windows 10的發佈,除了作業系統的更新之外,還有一個相當重要的功能-DirectX 12,在目前預覽版上已經可以透過更新來支援,不過現在DirectX 12並沒有實質的遊戲支援,所以是沒有太大的意義,但DirextX 12在先前所公布的效能數據,確實是相當吸引人,比起DirectX 11要快將近一倍的效率,最近國外知名的硬體網站Anandtech也做出了實際的比較測試。

ms_DirectX12_benchmark_1.png



去年GDC大會上公佈的DX12與DX11渲染時間對比
ms_DirectX12_benchmark_2.png



目前的DX12支持情況及WDDM 2.0
儘管Windows 10系統上已經有DX12支持了,不過DX12依然還在開發中,即便是Windows 10自身其實也沒有完成,依然在完善中,所以這裡的測試只是早期的預覽,還有很多問題,但足夠我們一窺DX12的驚艷。

從技術角度來看,DX12其實只是微軟計劃中的一部分,跟之前的DX11升級一樣,DX12也需要全新的WDDM(Windows顯示驅動模型),這裡就是WDDM 2.0,實際上WDDM 2.0可以說是微軟自從Vista系統上首次引入WDDM以來最大的一次變化,而DX12則是Windows GPU生態系統上的一次大翻修。

R9 290X顯卡的WDDM 2.0狀態
ms_DirectX12_benchmark_3.png



GTX 980顯卡的WDDM 2.0狀態
ms_DirectX12_benchmark_4.png



微軟沒有公佈WDDM 2.0的具體細節——相關內容要在3月份的GDC 2015大會上才公佈,不過WDDM 2.0是開啟DX12的基礎,內核及顯示驅動會增添新的功能以便支持DX12 API必需的功能。與WDDM 2.0相關的就是DX12中的記憶體管理、動態資源索引等功能,這些功能是目前WDDM 1.3所沒有的。

WDDM 2.0大動干戈意味著OS上的驅動要受影響,除了微軟之外,AMD、NVIDIA現在也在準備WDDM 2.0驅動,目前還在開發中,而且也不是所有的顯卡都支持新驅動,支持的硬體目前也依然存在很多問題。

AMD/NVIDIA硬體DX12支持情況
ms_DirectX12_benchmark_5.jpg


最新的硬體都可以支持WDDM 2.0,但不是所有的早期硬體產品都可以。AMD的GCN 1.0架構(HD 7000及Rx 200系列)雖然支持WDDM 2.0,但在StarWorm中遇到了問題,但之後的產品就沒問題。NVIDIA的驅動目前只支持Kepler、Maxwell 1和2代架構,早期的Fermi不支持WDDM 2.0。不過AMD和NVIDIA都在致力於向早期的GCN 1.0和Fermi架構產品提供DX12(以及WDDM 2.0)支持,只不過不是現在,等到DX12上市了再說吧。

DX12的軟體平台支持
ms_DirectX12_benchmark_6.jpg


軟體平台的支持,微軟之前已經表態了,DX12是Windows 10專屬,Windows 7/8/8.1用戶就不要想了,唯一的選擇就是升級到Windows 10平台,還好微軟提供免費升級的機會。


Star Sworm及DX12測試說明
目前還沒有遊戲是正式支持DX12的,不過微軟跟Oxide Games給Anandtech提供了一個新版本的Star Sworm星際蟲群demo,這個遊戲原本是支持DX11和Mantle的,現在也可以支持DX12了。這個遊戲其實之前針對Mantle的特性做了很多優化,比如支持100K個繪製命令(draw call)。
ms_DirectX12_benchmark_7.jpg



測試平台配置及說明
Anandtech測試使用了AMD、NVIDIA提供的支持WDDM 2.0的驅動,N卡是349.56,A卡是15.200。此外,由於DX12和驅動都還不是最終狀態,所以測試中也有很多問題,微軟建議他們使用3GB及以上的顯卡,不過Aandtech表示他們使用了2GB的顯卡,也沒發現什麼問題。

顯卡使用了GTX 980(Maxwell 2)、GTX 750 Ti(Maxwell 1)和GTX 680(Kepler),AMD陣營的則是R9 290X(GCN 1.1)、R9 285(GCN 1.2)及R9 260X( GCN 1.1),Fermi和GCN 1.0架構的顯卡因為驅動還不支持就沒測了。

CPU方面使用了Core i7-5960X,但通過降低核心和線程數模擬了Core i5以及Core i3處理器的情況,如下圖所示:
ms_DirectX12_benchmark_8.jpg


ms_DirectX12_benchmark_9.jpg



首先來回答大家最關心的一個問題:DX12是否真如之前宣傳中那樣很強力呢?答案是絕對地,如下圖所示,DX12的性能遠遠勝過DX11(不過這個項目里略輸Mantle)

ms_DirectX12_benchmark_10.png



DX12測試之CPU並行性能
首先來看DX12規範下不同顯卡對CPU並行能力的測試。

GTX 980搭配2、4、6核下的DX12性能
ms_DirectX12_benchmark_11.png


R9 290X搭配2、4、6核下的DX12性能
ms_DirectX12_benchmark_12.png



DX11規範下基本是單線程限制,多核性能提升並不明顯,DX12對多線程的利用就好得多了,可並行利用2-4核,不過再多的核心之後提升也不大了。不過這裡的測試主要受限於設置,如果設置成100K Draw calls,那麼所有CPU其實都受制於GPU瓶頸了。

在CPU不受限制的情況,任何超過4核的處理器都有些浪費了,不過這也意味著DX12不需要太高的多線程處理器。

對比AMD和NVIDIA,DX11下二者的性能差別也非常大,這裡的測試中A/N兩家都是CPU瓶頸而非GPU瓶頸,但AMD驅動下的R9 290X性能只有NVIDIA的三分之一,考慮到這個遊戲中AMD把重心放在了Mantle API上,不知道是不是AMD沒什麼動力再去優化DX11了。

DX12下雙核及四核CPU配置下不同顯卡的性能
ms_DirectX12_benchmark_13.png



批處理時間,越低越好
ms_DirectX12_benchmark_14.png



GTX 980在DX11下的的CPU佔用率
ms_DirectX12_benchmark_15.png



GTX 980在DX12下的的CPU佔用率
ms_DirectX12_benchmark_16.png



R9 290X在DX11下的的CPU佔用率
ms_DirectX12_benchmark_17.png



R9 290X在DX12下的的CPU佔用率
ms_DirectX12_benchmark_18.png



R9 290X在Mantle下的的CPU佔用率
ms_DirectX12_benchmark_19.png




DX12測試之GPU並行能力
前面的CPU並行能力測試之後再來看看Star Sworm在不同顯卡下的GPU並行能力。

4核處理器下的GPU並行能力
ms_DirectX12_benchmark_20.png


這裡的測試中CPU瓶頸開始變成GPU瓶頸了,Star Swarm開始青睞NVIDIA顯卡了(AMD情何以堪),GTX 980性能領先R9 290X顯卡50%以上,GTX 680也領先R9 285顯卡25%,而真實遊戲性能上差距可沒麼大。

與此同時,由於AMD顯卡在DX11下性能差勁,所以AMD顯卡在DX12下提升非常明顯,GTX 980從DX11到DX12只提升了150%,但R9 290X提升了416​​%,至於Mantle性能,我們之後再來詳細說下。

2核處理器下的GPU並行能力
ms_DirectX12_benchmark_21.png


搭配GTX 980的情況下,雙核CPU也足夠餵飽這個遊戲,GTX 980顯卡在雙核與四核配置下從DX12獲得的性能提升是一致的,可以說即便是搭配較弱的CPU,DX12依然能從中受益,至少在搭配強力顯卡的情況下是這樣的。



DX12、Mantle的對比及功耗測試
前面提到了AMD顯卡的Mantle及DX12性能,這裡就來單獨對比下吧。
ms_DirectX12_benchmark_22.png


搭配四核處理器的情況下,AMD的Mantle性能比DX12更高,雖然差距不是很大,但多個測試中都是要比DX12高一些。造成這個現象的原因可能有很多——Mantle驅動優化的更好、應用程序開發的更好或者是在已知平台上雙方合作的更好,到底是哪個原因還不好確定,不過可以說在AMD硬件上,Mantle的性能比DX12還要好一些。

雙核配置下的Mantle與DX12性能
ms_DirectX12_benchmark_23.png



另一方面,如果搭配雙核處理器,Mantle似乎就不能保持更好的性能了,R9 290X甚至在Mantle下比DX12性能更差一些,雖然差距同樣很小。

批處理時間,越低越好
ms_DirectX12_benchmark_24.png



如果深入分析下draw calls的批處理時間,DX12的性能也比Mantle API更好,Mantle批處理平均用時要比DX12多一半以上。

Mantle、DX11及DX12功耗測試
ms_DirectX12_benchmark_25.png



功耗測試中DX12及Mantle下的功耗都要比DX11要高,差距其實還是很明顯的,在DX12及Mantle的支持下,CPU不再是瓶頸,GPU則有更多機會全速運行,功耗自然要升高。



中等畫質下的測試
之前測試的結果都是Exrteme畫質下的,這裡測試的是Mid中等畫質。

雙核配置下,GTX 980依然是唯一一個受到雙核瓶頸影響的GPU
ms_DirectX12_benchmark_26.png



四核下性能測試
ms_DirectX12_benchmark_27.png



DX12與Mantle、DX11的對比
ms_DirectX12_benchmark_28.png



DX12的幀時間測試及總結
最後的測試是記錄DX12、DX11及Mantle下的幀時間對比。

GTX 980在四核CPU下的幀時間
ms_DirectX12_benchmark_29.png



R9 290X在四核CPU下的幀時間對比
ms_DirectX12_benchmark_30.png



不論是GTX 980還是R9 290X顯卡,DX11下的幀時間都要高於DX12下的,這意味著DX12性能比DX11高得多。而在AMD顯卡上,Mantle的幀時間表現跟DX12基本一致。


總結:
總結這裡就長話短說,DX12還沒有最終完成,相關的功能、開發者支持等還要等微軟在GDC 2015大會上公佈,這裡的測試還是初步的,是DX12的開始而非結束。

微軟和合作夥伴們希望設計一種跨硬件平台但依然底層的全新API,最終他們做到了,DX12在CPU效率及多線程上有著驚人的提升。




來源:
http://anandtech.com/show/8962/the-directx-12-performance-preview-amd-nvidia-star-swarm
http://www.expreview.com/38788-all.html
 

我要開機啦

進階會員
已加入
6/22/05
訊息
242
互動分數
0
點數
16
年齡
39
網站
造訪網站
看起來對於多核CPU的優化有了大進步
那對於多GPU並聯是否也有優化咧?
 

reishojiang

一般般會員
已加入
9/16/11
訊息
128
互動分數
3
點數
18
所以要等DX12的顯示卡了嗎~?
 

way0322

時空旅者
已加入
1/31/09
訊息
364
互動分數
0
點數
16
看來DirectX 12精彩可期啊,但是顯卡和驅動優化何時能到位呢?
 

mingting

榮譽會員
已加入
1/31/12
訊息
2,519
互動分數
58
點數
48
額..DX12效能提升不少.;nq;

如果有加入FX 6.8核的對比.就更好了...想知道FX在win10+DX12比DX11提升多少...如果提升幅度比IU大.那對FX使用者是很好的消息
 

newid1973

一般般會員
已加入
11/27/07
訊息
121
互動分數
0
點數
16
意思是說搞個4核cpu+r9 390(mantle DX12通吃 XD)的遊戲機就對了......是這個意思嗎
 

tank0122

進階會員
已加入
2/16/10
訊息
205
互動分數
6
點數
18
年齡
31
身為FX使用者表示:
FX終於出頭天了XD
 
▌延伸閱讀