設為首頁fbYouTubeWhatsapp頻道IG

Post76.hk

搜索
查看: 2097|回覆: 1

[主題新聞] Windows 10的 “殺手鐧” 微軟DirectX 12到底帶來了什麼?

[複製鏈接]

1889

主題

1萬

回帖

0

精華

白鑽玩家

Rank: 13Rank: 13Rank: 13Rank: 13

積分
1125945

76 榮譽慈善家勲章

發表於 2015-7-4 06:34 | 顯示全部樓層 |閱讀模式

如果想睇到更多76師兄嘅分享,快啲登入成為會員啦!

您需要 登入 收看或下載更多內容。還未成為會員?成為會員

x
微軟的Windows 10今年夏天就可以發佈了,除了介面和操作上的改進之外,Win10最讓遊戲玩家動心的部分莫過於DirectX 12(以下簡稱DX12)了,這是新一代的圖形API規範,那麼它到底能為我們帶來什麼樣的變化呢?為了及早用上DX12,我們又該做些什麼準備呢?

對於DX12,我們說起來並不算陌生,超能網前前後後曝光DX12消息的新聞和評測有幾十篇了,大家對DX12相對DX11的性能提升印象很深刻吧,不過另一方面,DX12對我們來說還是“熟悉的陌生人”,我們瞭解其中的一部分,但是更多的人還沒有最好迎接DX12的準備,今天這篇文章將詳細介紹DX12到底帶來了哪些變化,又有哪些顯卡和平臺將會支援DX12。

1、DX12帶來的新變化
我們都知道微軟會在今年的Windows 10系統帶來DX12,也從之前超能網連篇累牘的報導與測試中知道了DX12改善了底層硬體效率,多線程支援更好,遊戲性能更強。但大家對DX12的完整印象依然很模糊,它到底能為我們帶來什麼新變化,使用DX12 API的遊戲會在畫質、性能等方面有質的提升嗎?

a.jpg
就像之前的DirectX規範一樣,DX12實際上也可以分為多個功能不同的功能層(Feature Level),不過DX12這次還多了一個底層優化,所以DX12規範可以視作三個不同層級:
•D3D 12 Low Level API:這部分實際上是見諸報導最多的一部分,DX12相比DX11性能大提升就是底層優化的功勞,這也是DX12最吸引人的一點,不論是對遊戲開發者還是對遊戲玩家來說都是如此。

底層優化部分包括Low Overhead(低開銷)、更多的控制及非同步計算(Async Compute)等多個部分,低開銷類似AMD提出的Mantle優化,後者也是大幅改善了遊戲的多線程效率,降低了驅動層開銷,現在這部分已經可以使用3DMark的Driver Overhead做測試了,詳情可以參考我們之前做過的兩篇測試:
•DX12 Feature Level 12_0:前面的底層優化部分實際上是幫助DX12打通了“經脈”,提高了開發者的潛力,但那些並不涉及具體的招式——Feature Level 12_0這部分開始涉及更新的3D渲染方法,包括平鋪資源(Tiled Resoure)、歸類UAV訪問、無綁定(Bindless)等等,其中多項功能實際上DX11.1中就有了,不過DX11中多是T1級別的,現在的則是T2級別的。
•DX12高級功能Feature Level 12_1:跟以往的DX11.1/11.2一樣,DX12還有比Feature Level 12_0更高級的Feature Level 12_1功能,包括立體平鋪資源(Volume Tiled Resources)、保守光柵(Conservative Rasterization)、光柵順序視圖(Raster Order Views)等,這些功能通常屬於可選支援,但它們可以更好地提升開發者的效率或者遊戲畫質,同時對顯卡的要求也更高。

以上三部分是DX12規範的主要內容,但這些還不是DX12的全部功能,還記得之前曝光過的DX12黑科技——A、N顯卡混合交火嗎?微軟確實在DX12中嘗試了不同顯卡的混搭技術,該技術名為Muti-Adapter(多顯卡適配器),它就可以把不同架構的GPU聯合起來渲染。

b.jpg
微軟的Build大會上做過一個多顯卡的演示,分別使用獨顯及獨顯+集顯兩種方式渲染635幀的UE引擎,其中獨顯渲染幀速35.9fps,支持Muti-Adapter的集顯+獨顯平臺成績為39.7fps,小幅優勢領先了獨顯平臺。(提升不大的原因主要是獨顯與集顯的性能差距通常很大,並行運算的時候不會有CF/SLI這樣的接近2倍提升,之前Lucid的Virtu技術也是如此。)
Muti-Adapter技術另一個好處就是多卡下對GPU顯存的利用率更高,以往不論是CF還是SLI技術,DX只能將其中一個顯卡的顯存存儲資料,另一個顯卡的顯存就浪費了,比如GTX 980 Ti顯卡雙卡SLI時,其總的顯存容量還是4GB,多卡互聯時其GPU容量並不能翻倍。

現在有了Muti-Adapter技術,它就可以合併所有的顯存而利用了,顯存容量可以翻倍了。(微軟的WDDM 2.0模型還支援了GPU虛擬記憶體,猜測跟這個也有關係)

總之,微軟的DX12最重要的變化就是帶來了底層硬體優化,它改善了多線程效率,降低了驅動開銷,這對遊戲玩家和開發者來說都是大有裨益的。3D渲染技術上DX12也有更新,而在多卡互聯上,DX12有可能成為黑馬,如果最終對AMD、NVIDIA及Intel核顯異構運算支持到位,那麼遊戲玩家屆時就不會受CF或者SLI的限制了。

2、DX12顯卡相容列表
巧婦難為無米之炊,不過在解決米之前我們得先解決做飯用鍋問題——那些顯卡才能支持DX12,或者說完整支持DX12,從前面的介紹來看,支持和完整支持還是有些不同的。

對於DX12支持,我們之前聽到的最多的就是AMD、NVIDIA各自宣稱他們的GCN架構、Fermi及之後的架構都會支援DX12,Intel也是自第四代智慧處理器、也就是Haswell開始的核顯開始支持DX12。

這方面,AMD之前公佈了具體的DX12相容列表了,NVIDIA前不久也公佈了自家的DX12相容名單,不過NVIDAI還趁機“黑”了AMD一把,因為AMD的顯卡目前並不完整支援DX12規範,但N家的GTX 980/980 Ti等GM2xx核心的GPU可以完整支援DX12_1。要知道在DX11時代,AMD的顯卡能完整DX11.1及DX11.2規範,而NVIDIA的顯卡只能支持到DX11.0,現在只能說是風水輪流轉了。

b.png
AMD、NVIDIA、Intel三家廠商的GPU對DX12的詳細支援規格可以參考上圖,AMD的GCN 1.0架構(多數HD 7000及後來的馬甲)只能支持相容DX12、支援到Feature Level 11_1,HD 7790及R7 260/260X、R9 285等GCN新核心的顯卡可以支援到Feature Level 12_0,但目前所有顯卡都不能完整支持Feature Level 12_1功能。

d.jpg
NVIDIA方面,雖然Fermi及之後的顯卡都可以相容DX12,不過真要支援DX12功能還得看Maxwell架構,其中GM1xx第一代Maxwell架構的顯卡可以支援到Feature Level 12_0,包括GTX 980/970/960/Titan X/980 Ti在內的第二代Maxwell架構則可以支援到Feature Level 12_1。

Intel方面,Haswell之後的核顯都可以相容DX12,但說到Feature Levei支援,Haswell及最新的Broadwell依然只能支持到Feature Level 11_1。

當然,事情也得分兩面看,NVIDIA當年不能完全支持DX11.1,就說DX11.1是可選功能,實際影響不大,現在他們能完整支持DX12,就開始宣傳DX12_1的好處,實際上DX12_1的3D功能也不會有什麼質變,實際遊戲中也難說能帶來明顯的體驗差別,大家對這個問題還是淡定就好。

3、DX12平臺及軟體支援
邁過硬體支援這一關之後我們還要面臨軟體平臺支援的問題,這會涉及到我們用的作業系統選擇。

目前能確定支援DX12的系統就只有微軟全力打造的Windows 10系統,以往期待的Windows 7支援DX12的美夢已經破滅了,不過微軟多少也發了點善心——Windows 7/8/8.1用戶可以免費升級Windows 10系統。

微軟之所以如此決絕地讓DX12成為Windows 10專屬,除了保證Windows 10只許勝不許敗的戰略之外,還有一個因素不能忽略——Windows 10升級了WDDM 2.0顯示驅動引擎,支援DX12必須先支持WDDM 2.0,Windows 7支持的還只是WDDM 1.1。

WDDM 2.0中最主要的變化是支持GPU虛擬顯存定址(GPU virtual memory),所有GPU實體記憶體都被抽象成虛擬記憶體,由GPU負責管理,每個步驟都可以有自己的虛擬記憶體。另一個新功能是驅動常駐(Driver residency),顯存管理器會資料從命令緩衝器提交到驅動層之前所有分配空間都是常駐的,為此還增加了DDI設備驅動介面。

支持WDDM 2.0和Windows 10是支持DX12的一個前提,我們現在依然不能確定他們與DX12之間到底誰是因誰是果,但可以肯定的是微軟只讓Windows 10支持DX12更多地還是出於商業策略,Windows 7/8/8.1在技術上不見得就不能支持WDDM 2.0及DX12,現在我們能做的只能是祈禱Windows 10系統能跟Windows 7一樣大獲成功,成為遊戲玩家的首選平臺,不然以後可有得糾結了。

4、支援DX12的引擎及遊戲
有了DX12顯卡和Windows 10平臺,支持DX12還是只賣出第一步,這些內容相當於做飯的大廚和廚具,飯菜是否好好吃還得看食材——DX12遊戲,這一項是目前進度最慢的,畢竟這是最頂層的,落後於硬體和系統平臺是必然的,反過來說軟硬體平臺沒準備好的話,DX12遊戲也不可能運行起來。

支援DX12一勞永逸的方法還是得靠遊戲引擎,目前已經支援DX12的3D引擎有EPIC的UE 4.4、Crytek的CryEngine、Unity的Unity 5、Oxide Games的Nitrous等,已有的遊戲包括《九陽神功》、賽車遊戲Forza 5等,前者是CryEnging引擎的,後者是UE引擎的。

還有很多遊戲廠商自己開發的引擎支援DX12,比如Build大會上驚豔四方的Square Enix《最終幻想》所用的 Luminous 引擎打造的的“巫女哭泣”(Witch: Chapter 0)Demo等。

值得一提的是,在首波DX12遊戲中,國內的遊戲廠商這次也走在了前列,Build大會上遊戲蝸牛就作為嘉賓發表了《九陽神功》(英文King of wushu)遊戲的開發經歷,它就使用了CryEnging引擎並支援DX12,當然還有NVIDIA的Gameworks特效。

大部分DX12遊戲發佈上市也要等到今年底的耶誕節期間了,一些遊戲大作可能要到明年,不過我們最早能見到的DX12遊戲很可能是《奇點灰燼》(Ashes of the Singularity),這款遊戲使用的Nitrous引擎也不默認,關注過Mantle的玩家對該引擎另一個作品《Star Sworm》應該很熟悉,它能支持Mantle也就能更好地支持DX12。

不過這款遊戲之所以這麼快上市很可能是它只是支援了DX12中的底層優化功能,這部分功能之前支援Mantle的時候應該已經做好了,但它應該沒有完全使用高級DX12渲染功能,否則開發進度上不會這麼快。

總之,DX12雖然是Windows 10功能中的一部分,但對PC遊戲玩家來說DX12比目前的DX11性能更強、功能更多,對移動平臺來說,DX12也有著提升性能甚至降低功耗的奇效(GPU利用率上升,CPU功耗可以降低了)。相比DX11需要全新硬體不同,DX12可以相容AMD、NVIDIA、Intel的DX11顯卡,雖然更高級的功能還是需要全新的硬體,但DX12相對DX11來說總體上並沒有提高硬體需求,這種平滑升級更有利於玩家升級到Windows 10平臺。

2

主題

2萬

回帖

0

精華

白鑽玩家

Rank: 13Rank: 13Rank: 13Rank: 13

積分
1268907

76-FC 綠翡翠勲章

發表於 2015-7-6 08:46 | 顯示全部樓層
waiting
您需要登錄後才可以回帖 登錄 | 成為會員

本版積分規則  允許回帖郵件提醒樓主

重要聲明:本討論區是以即時上載留言的方式運作,Post76玩樂討論區對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意 見,並非本網站之立場,讀者及用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,讀者及用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本討論區受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者及用戶發現有留言出現問題,請聯絡我們。Post76玩樂討論區有權刪除任何留言及拒絕任何人士上載留言 (刪除前或不會作事先警告及通知 ), 同時亦有不刪除留言的權利,如有任何爭議,管理員擁有最終的詮釋權 。用戶切勿撰寫粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。權利。
快速回復 返回頂部 返回列表