3、DX12平臺(tái)及軟件支持
邁過硬件支持這一關(guān)之后我們還要面臨軟件平臺(tái)支持的問題,這會(huì)涉及到我們用的操作系統(tǒng)選擇。目前能確定支持DX12的系統(tǒng)就只有微軟全力打造的Windows 10系統(tǒng),以往期待的Windows 7支持DX12的美夢(mèng)已經(jīng)破滅了,不過微軟多少也發(fā)了點(diǎn)善心——Windows 7/8/8.1用戶可以免費(fèi)升級(jí)Windows 10系統(tǒng)。
微軟之所以如此決絕地讓DX12成為Windows 10專屬,除了保證Windows 10只許勝不許敗的戰(zhàn)略之外,還有一個(gè)因素不能忽略——Windows 10升級(jí)了WDDM 2.0顯示驅(qū)動(dòng)引擎,支持DX12必須先支持WDDM 2.0,Windows 7支持的還只是WDDM 1.1。
WDDM 2.0中最主要的變化是支持GPU虛擬顯存尋址(GPU virtual memory),所有GPU物理內(nèi)存都被抽象成虛擬內(nèi)存,由GPU負(fù)責(zé)管理,每個(gè)步驟都可以有自己的虛擬內(nèi)存。另一個(gè)新功能是驅(qū)動(dòng)常駐(Driver residency),顯存管理器會(huì)數(shù)據(jù)從命令緩沖器提交到驅(qū)動(dòng)層之前所有分配空間都是常駐的,為此還增加了DDI設(shè)備驅(qū)動(dòng)接口。
支持WDDM 2.0和Windows 10是支持DX12的一個(gè)前提,我們現(xiàn)在依然不能確定他們與DX12之間到底誰是因誰是果,但可以肯定的是微軟只讓W(xué)indows 10支持DX12更多地還是出于商業(yè)策略,Windows 7/8/8.1在技術(shù)上不見得就不能支持WDDM 2.0及DX12,現(xiàn)在我們能做的只能是祈禱Windows 10系統(tǒng)能跟Windows 7一樣大獲成功,成為游戲玩家的首選平臺(tái),不然以后可有得糾結(jié)了。
4、支持DX12的引擎及游戲
有了DX12顯卡和Windows 10平臺(tái),支持DX12還是只賣出第一步,這些內(nèi)容相當(dāng)于做飯的大廚和廚具,飯菜是否好好吃還得看食材——DX12游戲,這一項(xiàng)是目前進(jìn)度最慢的,畢竟這是最頂層的,落后于硬件和系統(tǒng)平臺(tái)是必然的,反過來說軟硬件平臺(tái)沒準(zhǔn)備好的話,DX12游戲也不可能運(yùn)行起來。
支持DX12一勞永逸的方法還是得靠游戲引擎,目前已經(jīng)支持DX12的3D引擎有EPIC的UE 4.4、Crytek的CryEngine、Unity的Unity 5、Oxide Games的Nitrous等,已有的游戲包括賽車游戲Forza 5等,前者是CryEnging引擎的,后者是UE引擎的。
大部分DX12游戲發(fā)布上市也要等到今年底的圣誕節(jié)期間了,一些游戲大作可能要到明年,不過我們最早能見到的DX12游戲很可能是《奇點(diǎn)灰燼》(Ashes of the Singularity),這款游戲使用的Nitrous引擎也不默認(rèn),關(guān)注過Mantle的玩家對(duì)該引擎另一個(gè)作品《Star Sworm》應(yīng)該很熟悉,它能支持Mantle也就能更好地支持DX12。
不過這款游戲之所以這么快上市很可能是它只是支持了DX12中的底層優(yōu)化功能,這部分功能之前支持Mantle的時(shí)候應(yīng)該已經(jīng)做好了,但它應(yīng)該沒有完全使用高級(jí)DX12渲染功能,否則開發(fā)進(jìn)度上不會(huì)這么快。
總之,DX12雖然是Windows 10功能中的一部分,但對(duì)PC游戲玩家來說DX12比目前的DX11性能更強(qiáng)、功能更多,對(duì)移動(dòng)平臺(tái)來說,DX12也有著提升性能甚至降低功耗的奇效(GPU利用率上升,CPU功耗可以降低了)。相比DX11需要全新硬件不同,DX12可以兼容AMD、NVIDIA、Intel的DX11顯卡,雖然更高級(jí)的功能還是需要全新的硬件,但DX12相對(duì)DX11來說總體上并沒有提高硬件需求,這種平滑升級(jí)更有利于玩家升級(jí)到Windows 10平臺(tái)。