前幾天我們三易生活在給大家分析Xbox Series X的技術細節時曾提出,這是一款充分利用了現有技術的主機,幾乎可以說是把至今為止PC上的圖形成果與最新設計思路結合到了極限。而且由於Xbox Series X本身是基於x86硬件架構,以及Windows操作系統,因此當中的不少新圖形API和新的硬件調度技術,其實都有望出現在未來的桌面級Windows 10中。

不過即便是我們也確實沒想到,微軟的動作會這麼快。僅僅就在Xbox Series X公布細節數天之後,微軟就突然公布了全新的「DirectX 12 Ultimate」標準,並宣布其將為統一Xbox與PC體驗的最新、最高級別的遊戲圖形標準。這意味着,諸如DXR 1.1新版光線追蹤、VRS可變着色率、Mesh Shader多線程渲染管線,以及SFS採樣反饋流等等,剛剛在Xbox Series X中登場的圖形技術很快就將隨着Windows 10 2004版的更新,降臨到那些已經配備了RTX顯卡的PC中來,並進一步成為大量次時代3A大作的技術標準。
很顯然,微軟為了提升自家平台的遊戲體驗,這次算是發了個「大招」。而DirectX 12 Ultimate這霸氣的名字以及它所包含的一系列新功能,也確實令人對新版本的Windows 10有了更多期待。

但是,這樣一來問題就出現了。眾所周知,微軟在Windows Vista時代引入了DirectX 10,在Windows 7上帶來了DirectX 11,在Windows 8上發佈了DirectX 12。那麼為什麼Windows 10發佈的時候,我們卻並沒有等來DirectX 13,反倒是直到這多年之後,才終於有了一個「DirectX 12 Ultimate」呢?
要知道,DirectX曾經是顯卡換代的原動力
要理解這一點,首先我們要先弄懂一件事。就是顯卡的硬件功能和它對應的DirectX軟件規範,究竟是「先有雞還是先有蛋」。

PC上的第一款GPU,同時也是第一塊支持DirectX 7.0的民用顯卡
追溯歷史不難發現,在DirectX 12之前,歷代顯卡的硬件換代基本上都是受軟件與遊戲技術換代所驅動。比如PC史上最早的「GPU」GeForce 256,就是在微軟先公布了DirectX 7.0規範,引入硬件T&L功能需求之後,NVIDIA第一個做出了適配的顯卡,從此便一戰成名。

又比如說在DirectX 10的時代,NVIDIA先推出了符合新圖形規範的GeForce 8800Ultra,而ATI那邊的Radeon HD2900XT「遲到」了很長時間,因此便在市場中陷於被動。

這塊卡誰能準確說出名字和出處來?
從這些歷史資料中我們都不難看出,在很長一段時間裏,PC顯卡市場都是微軟先發佈新版DirectX,相當於先提出了一個「技術規範」或者說性能需求,然後才有各大廠商針對性研發的硬件產品。
從DX9時代開始,微軟的節奏就慢了下來
但是隨着顯卡市場在競爭中淘汰了越來越多的參與者,隨着NVIDIA和AMD兩家的寡頭局面形成。微軟作為操作系統的開發者,作為DirectX圖形規範的制定者,也不免需要越來越多地「照顧」到兩位硬件巨頭的需求,或者說開始在DirectX規範里融入來自N、A兩家的獨家技術。

2003年,NVIDIA推出了GeForce FX系列顯卡,它最大的特徵有兩點。一是「吃螃蟹」首發了GDDR2顯存,二是在圖形渲染上提供高速但低精度的16bit與低速但高精度的32bit兩種工作模式。然而彼時的ATI卻看出了GeForce FX設計的缺點,他們捨棄了高溫高成本的GDDR2顯存,繼續使用GDDR一代顯存控制器,並在圖形渲染上創造性的使用了折中的24bit精度。
很顯然,最終ATI的設計幫助他們取得了極大成功,也直接促使NVIDIA在後來的GeForce 6000系列上搞出了「大殺器」SLI技術。但是很少有人關注到這樣一個重點,由於NVIDIA和ATI兩家在DirectX 9時代的最初兩款產品在設計上實在是差異太大,最後逼得微軟不得不實際上為兩家顯卡分別推出了一個DirectX版本——NVIDIA GeForce FX系列用DirectX 9.0a,而ATI Radeon 9800系列用DirectX 9.0b。這是顯卡廠商第一次直接以他們自己的技術在PC平台上影響到了DirectX規範的發展,而它實際上也就此改變了微軟與顯卡芯片企業的關係。

ATI Radeon HD4890,此卡的第一批貨在中國是一張難求
正因為如此,到了DirectX 10的時代,統一渲染管線的設計很明顯更「合」NV的意,因此GeForce 8800系列得以早早登場,迅速搶佔了市場。而DirectX 10.1則更多融入了ATI(AMD)的需求,因此Radeon HD3650、HD3870,以及後來的HD4000系列強勢反攻,而NVIDIA那邊卻對這一代規範幾乎視若無睹。

DX11時代最流行的就是測曲面細分性能,然而這也有顯卡廠商的利益因素在裏面
很顯然到了這個地步,DirectX與其說是微軟所提出的圖形技術規範,不如說其實已經是微軟、NVIDIA、AMD三家的博弈結果了。也正是因此,在此後的DirectX 11和DirectX 12中,我們就看到了更多更符合顯卡廠商利益的技術設定,比如說對顯卡性能消耗極大,能夠充分拉開高中低端顯卡遊戲體驗差距的Tessellation(鑲嵌,也稱細分曲面)技術,實際上就來自於ATI在DX10時代的一項自研項目。又比如說現在大紅大紫的光線追蹤技術,其實好幾年前就已經出現在一些專業級的製圖顯卡中,但遊戲領域最早則是由NVIDIA用他們自己的RT Core和Tensor Core硬件,以私有API的方式實現,此後才被納入了DirectX 12的DXR功能子集中,成為微軟官方規範的一部分。
加量不改名,如今的DirectX對玩家更友好
那麼,這意味着什麼呢?首先,由於DirectX不再是直接刺激顯卡廠商更新換代的標準,這意味着一方面來說DirectX大版本換代的必要性本身就不似當年那般迫切了,而且還能一定程度上讓消費者「感到實惠」——比如說NVIDIA家的Maxwell、Fermi架構、AMD家的GCN 1.0~4.0,都可以通過軟件更新支持到DX12,這就一定程度上增強了各家的消費者粘性,對於兩家顯卡廠商來說都是喜聞樂見的局面。
而另一方面來說,由於DirectX標準的更新速度相對放慢,那麼對於遊戲開發者來說,也就不用再把很多精力花費在轉換到新技術和新標準上去,而是可以開發出能適應更多代硬件的作品,同時通過高配置的高分辨率、高特效水平、物理運算的有無、同屏敵人(AI)數量等方式,來區分不同硬件配置的遊戲感受,實際上也比單純的「從DX8升級到DX9」更為可感。

你所不知道的DirectX版本們
與此同時必須要說明的一點就是,其實微軟在Windows 8到Windows 10的這幾年裡,也絕非守着已有的Direct X標準而沒做任何改動。事實上,在知名顯卡信息軟件GPU-Z的「Advanced」頁面,我們可以查看到當前顯卡所支持的DirectX標準的詳細信息的。而就在這裡,赫然列出了很多人都不知道的一些DX近年來的更新版本號。

微軟開發者網站上可以看到DX11~DX11.4的功能改變
比如說在推出Windows 8.1時,微軟實際上將DirectX 11升級到了11.1版本,增加了諸如FMA(乘加計算)、半精度運算以及一大票強化渲染效率的新功能。而到了WIndows 10里,DirectX 11又先後得到了11.3、11.4以及11.5三次更新,為只支持DX11的「老顯卡」引入了部分源自Direct 12的功能,以提升它們的運行效率。

源自Github上的微軟官方wiki頁面
又比如說,Windows 10至今為止已經至少推出過十一個更新版本(從最早的正式版TH1到最新的20H2測試版),在這個過程中,DirectX 12雖未有過「版本號」層面上的變動,但微軟實際上先後五次對DX12的Shader Mode渲染引擎進行過更新,頻繁程度和更新幅度甚至超過DirectX 11時代。諸如DXR光線追蹤等功能,其實就是在這個過程中才被加入到DX12規範里的。

DXR1.1版光線追蹤,它是本次DirectX12 Ultimate的重要部分之一
這也就是說,實際上微軟在近幾年裡其實是一直在對DirectX 12進行着持續的「小修小補」的,之所以沒有大張旗鼓地推出「DX13」,除了本身技術上變革並不算特別徹底之外,自然也是考慮到了對老卡的兼容性以及DirectX當前的功能定位所致。事實上,啾臉最新的DirectX 12 ULtimate,也是可以完全兼容NVIDIA家的RTX顯卡的——只需要更新一下系統和驅動,光追用戶們就能體驗到免費的性能提升了,不得不說微軟確實是幹了一件大好事。

畢竟那個由DirectX版本驅動顯卡換代的時代已經結束,而如今的微軟似乎也更在乎服務好現有的玩家,而不是讓大家都去買新硬件了。
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/272711.html