1. Welcome to the MGN forums! Login or create an account to begin interacting with your fellow gamers!
    排除公告
  2. 排除公告
排除公告
訪客 Did you notice the AWESOME new button on the top bar! We're giving you Free Games just for being an active partner with us! How cool is that?

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

本帖由 Wait_Night02 9, 2015 發佈。版塊名稱:硬體相關訊息

  1. Wait_Night

    Wait_Night ★ Level 5: Hero

    註冊日期:
    05 20, 2014
    文章:
    34
    支持:
    13
    Mirosoft Windows 10的發佈,除了作業系統的更新之外,還有一個相當重要的功能-DirectX 12,在目前預覽版上已經可以透過更新來支援,不過現在DirectX 12並沒有實質的遊戲支援,所以是沒有太大的意義,但DirextX 12在先前所公布的效能數據,確實是相當吸引人,比起DirectX 11要快將近一倍的效率,最近國外知名的硬體網站Anandtech也做出了實際的比較測試。

    [​IMG]


    去年GDC大會上公佈的DX12與DX11渲染時間對比
    [​IMG]


    目前的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狀態
    [​IMG]


    GTX 980顯卡的WDDM 2.0狀態
    [​IMG]


    微軟沒有公佈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支持情況
    [​IMG]

    最新的硬體都可以支持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的軟體平台支持
    [​IMG]

    軟體平台的支持,微軟之前已經表態了,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)。
    [​IMG]


    測試平台配置及說明
    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處理器的情況,如下圖所示:
    [​IMG]

    [​IMG]


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

    [​IMG]


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

    GTX 980搭配2、4、6核下的DX12性能
    [​IMG]

    R9 290X搭配2、4、6核下的DX12性能
    [​IMG]


    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配置下不同顯卡的性能
    [​IMG]


    批處理時間,越低越好
    [​IMG]


    GTX 980在DX11下的的CPU佔用率
    [​IMG]


    GTX 980在DX12下的的CPU佔用率
    [​IMG]


    R9 290X在DX11下的的CPU佔用率
    [​IMG]


    R9 290X在DX12下的的CPU佔用率
    [​IMG]


    R9 290X在Mantle下的的CPU佔用率
    [​IMG]



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

    4核處理器下的GPU並行能力
    [​IMG]

    這裡的測試中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並行能力
    [​IMG]

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



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

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

    雙核配置下的Mantle與DX12性能
    [​IMG]


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

    批處理時間,越低越好
    [​IMG]


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

    Mantle、DX11及DX12功耗測試
    [​IMG]


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



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

    雙核配置下,GTX 980依然是唯一一個受到雙核瓶頸影響的GPU
    [​IMG]


    四核下性能測試
    [​IMG]


    DX12與Mantle、DX11的對比
    [​IMG]


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

    GTX 980在四核CPU下的幀時間
    [​IMG]


    R9 290X在四核CPU下的幀時間對比
    [​IMG]


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


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

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



    看來DirectX 12精彩可期。


    來源:
    http://anandtech.com/show/8962/the-d...dia-star-swarm
    http://www.expreview.com/38788-all.html
     

分享此頁面