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