码迷,mamicode.com
首页 > 其他好文 > 详细

Direct3D驱动类型(DRIVER_TYPE)介绍

时间:2018-11-17 20:54:23      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:known   res   result   soft   typedef   har   默认值   一个   ide   

之前部门老大叫我查找有关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:性能高。

例如:

技术分享图片

 

Direct3D驱动类型(DRIVER_TYPE)介绍

标签:known   res   result   soft   typedef   har   默认值   一个   ide   

原文地址:https://www.cnblogs.com/OctoptusLian/p/9975227.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!