微軟宣布在其繪圖API DirectX加入新的功能等級(Feature Level)12_2,用來表達包含DirectX光線追蹤、網格著色器、可變速著色以及採樣器回饋等高階繪圖功能,微軟提到,因為這些功能會隨著硬體進步,變得越來越普及,定義更新的功能等級可以讓開發人員,不需要花費心力撰寫功能檢查的程式碼。

在Direct3D中,功能等級是用來描述一系列繪圖卡功能的名稱,可以說是繪圖卡的屬性之一,而支援相同作業系統的顯示卡,可能支援不同的功能等級,又或是多GPU系統,兩個GPU也可能擁有不同的功能等級,遊戲與應用程式,可以透過偵測系統上可用的功能等級,啟用相對應的圖形功能。

微軟提到,功能等級可以簡化應用程式碼,並鼓勵開發者採用新的硬體功能,對於應用程式來說,功能等級是一個隨著時間演進,能夠簡單依GPU改進應用程式功能的方法,應用程式可以根據程式渲染範式,將GPU功能粗略地分組,而不需要對個別功能進行排列組合。

功能等級是集合關係,數字較大的功能等級是前面功能等級的超集合,像是功能等級12_1,就包含了功能等級12_0的所有功能,還有其他該等級的功能,而最新的功能等級12_2包含了12_0和12_1的所有功能,以及一些額外的新功能。從12_1到12_2的功能差距相當巨大。

之所以DirectX需要一個新的功能等級,微軟解釋,Direct3D 12中有一些重量級的圖形功能,因為這些功能足夠重要,因此可被共同表示為一個功能等級,這些重量級圖形功能包括DirectX光線追蹤、網格著色器、可變速著色以及採樣器回饋等。由於把這些功能集中成為一個功能等級,可以讓遊戲或是應用程式,更容易推斷出用戶的遊戲環境對這些功能的支援情況,藉以消除繁瑣的檢查程序,只需要簡單確認新功能等級的支援情況即可。

不過,即便用戶的顯示卡驅動程式都支援了上述重量級圖形功能,也不代表顯示卡會被自動認定支援功能等級12_2,微軟提到,用戶需要取得驅動程式卡更新,只有當驅動程式明確回報功能等級時,才能正確支援功能等級12_2,執行時系統無法自動推動功能等級。

另外,要使用功能等級12_2,必須要使用Direct3D 12 API,微軟提到,在功能等級12_0與12_1中的功能,部分功能可以選擇使用Direct3D 11或是Direct3D 12程式開發模型,但是功能等級12_2的功能眾多,特別是部分重量級的功能在Direct3D 11並不支援,像是無法利用Direct3D 11實作DirectX光線追蹤等功能,要Direct3D 12上才能獲得良好的功能支援。

目前支援功能等級12_2的硬體平臺,包括Nvidia GeForce RTX和Quadro RTX系列GPU,AMD即將推出基於RDNA 2架構的GPU,也會完全支援功能等級12_2,英特爾的部分GPU也會支援,微軟也與高通合作,以在Snapdragon平臺支援DirectX功能等級12_2。

熱門新聞

Advertisement