Direct3D驱动类型(DRIVER_TYPE)介绍
之前部门老大叫我查找有关Direct3D使用软件渲染的方法,于是我找到了D3D驱动的类型,并整理如下
一、D3D驱动类型的句法
1 2 3 4 5 6 7 8 | 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:性能高。
例如:

您的资助是我最大的动力!
金额随意,欢迎来赏!

本博客的所有打赏均将用于博主女朋友的化妆品购买以及养肥计划O(∩_∩)O。我是【~不会飞的章鱼~】!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架