之前部门老大叫我查找有关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)介绍的更多相关文章

  1. iis中MIME类型的介绍与使用

    今天在服务器上碰到由.mp3格式转化生成的.m4r格式不能被浏览器访问(MP3与m4r在同个域名目录下eg:www.abc.com/1.m4r) 解决办法: 1.选中文件所在的站点: 2.找到MIME ...

  2. JDBC 学习笔记(二)—— 详解 JDBC 的四种驱动类型

    JDBC 有四种驱动类型,分别是: JDBC-ODBC 桥(JDBC-ODBC bridge driver plus ODBC driver) 本地 API 驱动(Native-API partly ...

  3. php面试专题---Mysql索引类型、介绍及优点

    php面试专题---Mysql索引类型.介绍及优点 一.总结 一句话总结: 精品视频讲解里面的资料来源也是通过各种资料,比如博客.书等,只不过是基于讲解者的知识体系有整理的过程 1.B-Tree索引三 ...

  4. MTD NANDFLASH驱动相关知识介绍

    转:http://blog.csdn.net/zhouzhuan2008/article/details/11053877 目录 MTD总概述 MTD数据结构 MTD相关层实现 MTD,Memory ...

  5. linux 高级字符设备驱动 ioctl操作介绍 例程分析实现【转】

    转自:http://my.oschina.net/u/274829/blog/285014 1,ioctl介绍 ioctl控制设备读写数据以及关闭等. 用户空间函数原型:int ioctl(int f ...

  6. linux字符设备驱动--基本知识介绍

    一.设备驱动的分类 1.字符设备 字符设备是指那些能一个字节一个字节读取数据的设备,如LED灯.键盘.鼠标等.字符设备一般需要在驱动层实现open().close().read().write().i ...

  7. MySQL 常用字段类型,介绍及其建表使用方法经验分享

    由于工作的公司没有专业的DBA又经常需要建立各种各种的表来满足自己的业务逻辑,所以经常查看MySQL 手册或者谷歌查看相关资料,所以本人就根据我的工作经验和相关资料来介绍一下MySQL各种字段类型及其 ...

  8. 第二节:比较DateTime和DateTimeOffset两种时间类型并介绍Quartz.Net中用到的几类时间形式(定点、四舍五入、倍数、递增)

    一. 时间的类型 1. 背景 这里为什么要介绍时间类型呢,明明是定时调度篇,原因是在定时任务中,任务什么时间开始执行,什么时间结束执行,要用到各种各样的时间模式,虽然这不能算是一个复杂的问题,但在正式 ...

  9. 001 Python中的基本类型初步介绍

    这个但是根据书来整理的,显得有些多,也不够完整. 一:介绍 1.为什么使用内置对象 对象类型是语言的一个部分 内置对象构成了每个python程序的核心部分 二:数字 1.**是乘方 2.math数学模 ...

随机推荐

  1. [CF1131F] Asya And Kittens

    Description: 给定n个点的序列,一开始有n个块,每次将两个块合并,并告诉你这两个块中的一对元素,求一种可能的原序列 Hint: \(n \le 1.5*10^5\) Solution: 实 ...

  2. Node爬取简书首页文章

    Node爬取简书首页文章 博主刚学node,打算写个爬虫练练手,这次的爬虫目标是简书的首页文章 流程分析 使用superagent发送http请求到服务端,获取HTML文本 用cheerio解析获得的 ...

  3. MySQL解压版的安装与配置

    1.解压mysql-5.7.15-winx64.zip到D:\MySQL Server 5.7(你想安装的位置) 2.如果机器上安装过其他版本的mysql先删除环境变量PATH中的mysql路径,然后 ...

  4. H3C505

    H3C505 1.立方体案例 2.3D变换 1)景深透视 prospective:xx px; 设置观察元素的距离,数值小时,在元素内进行观察 prospective-origin: xpx,xpx ...

  5. JS自学笔记02

    JS自学笔记02 1.复习 js是一门解释性语言,遇到一行代码就执行一行代码 2.查阅mdn web文档 3.提示用户输入并接收,相比之下,alert只有提示的作用: prompt(字符串) 接收: ...

  6. 微信小程序中遮罩层的滚动穿透问题

    如果弹出层没有滚动事件: <view wx:if="{{alert}}" catchtouchmove="myCatchTouch"> <te ...

  7. 2、html补充

    今天补充几个html标签 <body>内常用标签 1.<div>和<span> <div></div> : <div>只是一个块 ...

  8. 【转】http的keep-alive和tcp的keepalive区别

    http://blog.csdn.net/oceanperfect/article/details/51064574 1.HTTP Keep-Alive在http早期,每个http请求都要求打开一个t ...

  9. 03、操作RDD(transformation和action案例实战)

    1.transformation和action介绍 Spark支持两种RDD操作:transformation和action.transformation操作会针对已有的RDD创建一个新的RDD:而a ...

  10. iOS:检测多媒体(相机、相册、麦克风)设备权限,弹框提示

    一.感言 新年伊始,万象更新,一转眼,就2019年了. 作为一个科班生,从事移动端开发好几年了,回顾曾经的摸爬滚打,兢兢业业,严格的来说,多少算是入行了. 过去成绩如何暂且不说,新的一年,我当加倍努力 ...