Direct3D驅動類型(DRIVER_TYPE)介紹

之前部門老大叫我查找有關Direct3D使用軟件渲染的方法,於是我找到了D3D驅動的類型,並整理如下

一、D3D驅動類型的句法

typedef enum D3D_DRIVER_TYPE {
  D3D_DRIVER_TYPE_UNKNOWN,
  D3D_DRIVER_TYPE_HARDWARE,
  D3D_DRIVER_TYPE_REFERENCE,
  D3D_DRIVER_TYPE_NULL,
  D3D_DRIVER_TYPE_SOFTWARE,
  D3D_DRIVER_TYPE_WARP
} ;

二、常量介紹

1,D3D_DRIVER_TYPE_UNKNOWN

這個驅動類型不知道。

(怎麼用,用在什麼地方,都不知道)

2,D3D_DRIVER_TYPE_HARDWARE

一個硬件驅動程序,在硬件中實現Direct3D功能。 這是你應該在Direct3D應用程序中使用的首要驅動程序,因爲它提供了最佳性能。 硬件驅動程序使用硬件加速(在支持的硬件上),但也可以使用軟件來管理硬件不支持的部分管道。 此驅動程序類型通常稱爲硬件抽象層或HAL。

(硬件驅動程序首選)

3,D3D_DRIVER_TYPE_REFERENCE

一個參考驅動程序,是支持每個Direct3D功能的軟件實現。 參考驅動器的設計是爲了精度而非速度,因此速度慢但準確。 驅動程序的光柵化器部分儘可能使用特殊的CPU指令,但它不適用於零售應用程序; 僅用於功能測試,功能演示,調試或驗證其他驅動程序中的錯誤。 此驅動程序的參考設備由Windows SDK 8.0或更高版本安裝,僅用作開發目的的調試輔助工具。 該驅動程序可以稱爲REF驅動程序,參考驅動程序或參考光柵化程序。

(軟件驅動程序,精度高但速度慢)

4,D3D_DRIVER_TYPE_NULL

一個無效的驅動程序,它是沒有渲染功能的參考驅動程序。 此驅動程序通常用於調試非呈現API調用,不適用於零售應用程序。 此驅動程序由DirectX SDK安裝。

(起調試作用)

5,D3D_DRIVER_TYPE_SOFTWARE

一個軟件驅動程序,是一個完全用軟件實現的驅動程序。 由於其性能非常低,因此軟件實現不適用於高性能應用程序。

(軟件驅動程序,性能低)

6,D3D_DRIVER_TYPE_WARP

WARP驅動程序,是一種高性能軟件光柵化程序。 光柵化器支持功能級別9_1到10_1級,具有高性能軟件實現。

注意:

  • Windows 8包含的WARP驅動程序支持功能級別9_1到級別11_1。
  • Windows 8.1包含的WARP驅動程序完全支持功能級別11_1,包括平鋪資源,IDXGIDevice3 :: Trim,共享BCn表面,minblend和地圖默認值。

(軟件驅動程序,性能高)

三、小結

以上整理了六種Direct3D的驅動類型,我們可以看出

1,如果要用硬件驅動的話,首選D3D_DRIVER_TYPE_HARDWARE;

2,如果要用軟件驅動的話,分以下三種

  • D3D_DRIVER_TYPE_REFERENCE:精度高,速度慢;
  • D3D_DRIVER_TYPE_SOFTWARE:性能低;
  • D3D_DRIVER_TYPE_WARP:性能高。

例如:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章