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:性能高。

例如:

 

转载于:https://www.cnblogs.com/OctoptusLian/p/9975227.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值