人人書

雜誌

保存到桌面 | 簡體人人書 | 手機版
傳記回憶文學理論偵探推理驚悚懸疑詩歌戲曲雜文隨筆小故事書評雜誌
人人書 > 雜誌 > 走進DirectX 12的精彩世界

走進DirectX 12的精彩世界

時間:2024-10-31 11:17:01

微軟大型免費“公測”系統Windows10的裝機量目前已經達到3億台,市場份額則達到14.5%,成為全球使用人數第二多的操作系統,距離10億台的目标指日可待。毫無疑問,已經有越來越多的遊戲玩家轉向Windows10系統,其中緣由不言而喻,畢竟微軟新一代圖形API——DirectX12(以下簡稱DX12)是Windows10專屬的,那麼想玩新遊戲,體驗最精彩的3D特效,非Windows10莫屬。

編/藍色

據不完全統計,微軟大型免費“公測”系統Windows10的裝機量目前已經達到3億台,市場份額則達到14.5%,成為全球使用人數第二多的操作系統,距離10億台的目标指日可待。毫無疑問,已經有越來越多的遊戲玩家轉向Windows10系統,其中緣由不言而喻,畢竟微軟新一代圖形API——DirectX12(以下簡稱DX12)是Windows10專屬的,那麼想玩新遊戲,體驗最精彩的3D特效,非Windows10莫屬。

Windows10巨大的裝機量也推動了DX12遊戲的蓬勃發展,今年以來已經有越來越多的遊戲支持DX12,或者是在遊戲正去年最驚豔的DX12Demo《Witch》中人物角色式發售後通過補丁升級了對DX12的支持,想要找一款DX12的遊戲仔細體驗一番已不再是件難事。不過,對于DX12帶來的諸多變化以及AMD、NVIDIA和Intel對DX12的支持情況,很多讀者還是一頭霧水,那麼,DX12裡到底都有什麼新東西?支持DX12的遊戲又有哪些呢?

有關DX12帶來的技術革新,我們在去年已經做過一次全面解析,着重介紹了DirectX12到底帶來了什麼,在本文中,雖然我們還聚焦于DX12,但與上次的側重點有所不同,DX12的一些技術介紹、功能等級之前已經說過了,這次我們的着眼點則是AMD、NVIDIA和Intel最新顯卡對DX12的支持情況以及它們之間的主要區别,另外,我們還會提及一些已上市或者即将上市的可支持DX12的遊戲。

DX12到底帶來了什麼新功能?

盡管本文不會再長篇贅述DX12的新特性,但我們還是有必要重溫一個話題:DX12帶來了什麼新功能?去年我們說過,這次還會再說一次,因為即便Windows10裝機量超過3億了,這個問題對不少用戶來說仍是個困惑——自己使用的顯卡到底支持什麼DX12功能。

從最初曝光的類似AMDMantle那樣的底層優化,再到支持AMD、NVIDIA顯卡混合工作,微軟的DX12确實帶來了不少新技術和新功能,而就API層面來說,DX12的新功能可分為三個層級:

首先是底層的優化,DX12降低了系統開銷(LowOverhead),給予開發者更多的控制(MoreControl),并支持異步運算(AsynchronousCompute)。其中,對用戶來說,低開銷這一項是最重要的,我們此前見過的DX12優勢特性展示大多基于這一點,它跟AMD的Mantel優化很相似,可以提高遊戲性能,有效利用多核處理器。另外,異步運算也值得一提,AMD與NVIDIA在這一點上有分歧,産生過不少争議,後面我們還會重點談到。

DX12帶來的渲染功能主要是平鋪資源(TiledResoure)、歸類UAV訪問、無綁定(Bindless),這屬于DX12FeatureLevel12_0級的要求。一般來說,支持DX12FeatureLevel12_0已經算是完整支持DX12了,不過類似此前的DX10.1、DX11.1一樣,DX12還有個更高級的FeatureLevel12_1,其中有保守光栅(ConservativeRasterization)、光栅順序視圖(RasterOrderViews)等新功能。

參考前面那張NVIDIA的PPT,需要留意的是,NVIDIA在這裡“耍”了一點小花招——從圖中的結構劃分來看,我們很容易誤認為立體平鋪資源(VolumeTiledResources,簡稱VTR)也是FeatureLevel12_1的要求,但實際上它并不是,VTR是DX11.3裡的功能了,在DX12中并不是必備要求。

實際上,微軟對DXAPI的支持定義了多個級别,上述很多技術其實并不是DX12中才出現的,此前的DX11及DX11.1中就被列為可選功能了,在DX12中隻是把平鋪資源、無綁定等特性變成了必備或者提升了功能級别。

具體到每個技術上,它實際上也是分為多個等級,可分為Tier1(簡稱T1,玩魔獸的玩家對這種稱呼應該不會陌生)到T2再到T3,不過,本文并不會詳細介紹T1到T3的區别,也不會詳細介紹上述技術在圖形渲染中具體的作用,因為這些東西說清楚不容易,而且内容太枯燥,非專業人士不會對此感興趣的。

我們隻要知道的是,微軟在DXFL12_0、DXFL12_1上的定義比較寬松,反倒是NVIDIA、AMD這兩家廠商私下裡争得異常激烈,就和之前的DX10.1及DX11.1/11.2完整支持一樣,隻不過這一次是NVIDIA占“上風”,他們的顯卡可以支持到DXFL12_1,而AMD的GCN架構隻支持到DXFL12_0,對可選的保守光栅、光栅順序視圖等技術并不熱心。

微軟DX12_1、DX12_0與DX11_1、DX11_0的區别
   

熱門書籍

熱門文章