Direct3D驅動類型(DRIVER_TYPE)介紹

以前部門老大叫我查找有關Direct3D使用軟件渲染的方法,因而我找到了D3D驅動的類型,並整理以下工具

1、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
} ;

 

2、常量介紹

1,D3D_DRIVER_TYPE_UNKNOWN性能

這個驅動類型不知道。測試

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

 

2,D3D_DRIVER_TYPE_HARDWARE設計

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

(硬件驅動程序首選)blog

 

3,D3D_DRIVER_TYPE_REFERENCE資源

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

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

 

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和地圖默認值。

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

 

3、小結

以上整理了六種Direct3D的驅動類型,咱們能夠看出

1,若是要用硬件驅動的話,首選D3D_DRIVER_TYPE_HARDWARE;

2,若是要用軟件驅動的話,分如下三種

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

例如:

相關文章
相關標籤/搜索