Mirosoft Windows 10的發佈,除了作業系統的更新之外,還有一個相當重要的功能-DirectX 12,在目前預覽版上已經可以透過更新來支援,不過現在DirectX 12並沒有實質的遊戲支援,所以是沒有太大的意義,但DirextX 12在先前所公布的效能數據,確實是相當吸引人,比起DirectX 11要快將近一倍的效率,最近國外知名的硬體網站Anandtech也做出了實際的比較測試。
去年GDC大會上公佈的DX12與DX11渲染時間對比
目前的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狀態
GTX 980顯卡的WDDM 2.0狀態
微軟沒有公佈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支持情況
最新的硬體都可以支持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的軟體平台支持
軟體平台的支持,微軟之前已經表態了,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)。
測試平台配置及說明
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處理器的情況,如下圖所示:
首先來回答大家最關心的一個問題:DX12是否真如之前宣傳中那樣很強力呢?答案是絕對地,如下圖所示,DX12的性能遠遠勝過DX11(不過這個項目里略輸Mantle)
DX12測試之CPU並行性能
首先來看DX12規範下不同顯卡對CPU並行能力的測試。
GTX 980搭配2、4、6核下的DX12性能
R9 290X搭配2、4、6核下的DX12性能
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配置下不同顯卡的性能
批處理時間,越低越好
GTX 980在DX11下的的CPU佔用率
GTX 980在DX12下的的CPU佔用率
R9 290X在DX11下的的CPU佔用率
R9 290X在DX12下的的CPU佔用率
R9 290X在Mantle下的的CPU佔用率
DX12測試之GPU並行能力
前面的CPU並行能力測試之後再來看看Star Sworm在不同顯卡下的GPU並行能力。
4核處理器下的GPU並行能力
這裡的測試中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並行能力
搭配GTX 980的情況下,雙核CPU也足夠餵飽這個遊戲,GTX 980顯卡在雙核與四核配置下從DX12獲得的性能提升是一致的,可以說即便是搭配較弱的CPU,DX12依然能從中受益,至少在搭配強力顯卡的情況下是這樣的。
DX12、Mantle的對比及功耗測試
前面提到了AMD顯卡的Mantle及DX12性能,這裡就來單獨對比下吧。
搭配四核處理器的情況下,AMD的Mantle性能比DX12更高,雖然差距不是很大,但多個測試中都是要比DX12高一些。造成這個現象的原因可能有很多——Mantle驅動優化的更好、應用程序開發的更好或者是在已知平台上雙方合作的更好,到底是哪個原因還不好確定,不過可以說在AMD硬件上,Mantle的性能比DX12還要好一些。
雙核配置下的Mantle與DX12性能
另一方面,如果搭配雙核處理器,Mantle似乎就不能保持更好的性能了,R9 290X甚至在Mantle下比DX12性能更差一些,雖然差距同樣很小。
批處理時間,越低越好
如果深入分析下draw calls的批處理時間,DX12的性能也比Mantle API更好,Mantle批處理平均用時要比DX12多一半以上。
Mantle、DX11及DX12功耗測試
功耗測試中DX12及Mantle下的功耗都要比DX11要高,差距其實還是很明顯的,在DX12及Mantle的支持下,CPU不再是瓶頸,GPU則有更多機會全速運行,功耗自然要升高。
中等畫質下的測試
之前測試的結果都是Exrteme畫質下的,這裡測試的是Mid中等畫質。
雙核配置下,GTX 980依然是唯一一個受到雙核瓶頸影響的GPU
四核下性能測試
DX12與Mantle、DX11的對比
DX12的幀時間測試及總結
最後的測試是記錄DX12、DX11及Mantle下的幀時間對比。
GTX 980在四核CPU下的幀時間
R9 290X在四核CPU下的幀時間對比
不論是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
去年GDC大會上公佈的DX12與DX11渲染時間對比
目前的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狀態
GTX 980顯卡的WDDM 2.0狀態
微軟沒有公佈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支持情況
最新的硬體都可以支持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的軟體平台支持
軟體平台的支持,微軟之前已經表態了,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)。
測試平台配置及說明
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處理器的情況,如下圖所示:
首先來回答大家最關心的一個問題:DX12是否真如之前宣傳中那樣很強力呢?答案是絕對地,如下圖所示,DX12的性能遠遠勝過DX11(不過這個項目里略輸Mantle)
DX12測試之CPU並行性能
首先來看DX12規範下不同顯卡對CPU並行能力的測試。
GTX 980搭配2、4、6核下的DX12性能
R9 290X搭配2、4、6核下的DX12性能
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配置下不同顯卡的性能
批處理時間,越低越好
GTX 980在DX11下的的CPU佔用率
GTX 980在DX12下的的CPU佔用率
R9 290X在DX11下的的CPU佔用率
R9 290X在DX12下的的CPU佔用率
R9 290X在Mantle下的的CPU佔用率
DX12測試之GPU並行能力
前面的CPU並行能力測試之後再來看看Star Sworm在不同顯卡下的GPU並行能力。
4核處理器下的GPU並行能力
這裡的測試中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並行能力
搭配GTX 980的情況下,雙核CPU也足夠餵飽這個遊戲,GTX 980顯卡在雙核與四核配置下從DX12獲得的性能提升是一致的,可以說即便是搭配較弱的CPU,DX12依然能從中受益,至少在搭配強力顯卡的情況下是這樣的。
DX12、Mantle的對比及功耗測試
前面提到了AMD顯卡的Mantle及DX12性能,這裡就來單獨對比下吧。
搭配四核處理器的情況下,AMD的Mantle性能比DX12更高,雖然差距不是很大,但多個測試中都是要比DX12高一些。造成這個現象的原因可能有很多——Mantle驅動優化的更好、應用程序開發的更好或者是在已知平台上雙方合作的更好,到底是哪個原因還不好確定,不過可以說在AMD硬件上,Mantle的性能比DX12還要好一些。
雙核配置下的Mantle與DX12性能
另一方面,如果搭配雙核處理器,Mantle似乎就不能保持更好的性能了,R9 290X甚至在Mantle下比DX12性能更差一些,雖然差距同樣很小。
批處理時間,越低越好
如果深入分析下draw calls的批處理時間,DX12的性能也比Mantle API更好,Mantle批處理平均用時要比DX12多一半以上。
Mantle、DX11及DX12功耗測試
功耗測試中DX12及Mantle下的功耗都要比DX11要高,差距其實還是很明顯的,在DX12及Mantle的支持下,CPU不再是瓶頸,GPU則有更多機會全速運行,功耗自然要升高。
中等畫質下的測試
之前測試的結果都是Exrteme畫質下的,這裡測試的是Mid中等畫質。
雙核配置下,GTX 980依然是唯一一個受到雙核瓶頸影響的GPU
四核下性能測試
DX12與Mantle、DX11的對比
DX12的幀時間測試及總結
最後的測試是記錄DX12、DX11及Mantle下的幀時間對比。
GTX 980在四核CPU下的幀時間
R9 290X在四核CPU下的幀時間對比
不論是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