WDDM显卡驱动
+ -

WDDM 显卡及显卡驱动的分类

2021-06-30 645 0

随着显卡的技术的发展,对于三维图形处理的功能越来越强,所以直接导致的一个结果就是显卡的数学处理能力(浮点计算)的功能越来越强。所以对于一些需要进行大量数学计算的模块,将这些功能交由显卡来进行处理相比较CPU更能大幅度提高效率。

如现在的人功智能AI,还有前几年火热的挖矿…这些都是需要复杂的数学计算。

  • 全功能显卡驱动:这种显卡既支持数学运算和图形显示。
  • 偏重于运算显卡:这种显卡不必配置多个显示接口,图像处理的模块就不用很高级
  • 偏重于图形显卡:这种偏重显卡功能的显卡,相对于一般的显卡其大数据带宽,大显存,支持多种类型的接口,能够实现锯齿优化等等。

根据显卡的技术的发展,微软推了的Win8操作系统根据显卡的侧重点不同,也将显卡驱动分成了三大类:

  • 针对我们的驱动来讲,如果一个显示驱动,既支持显卡的显示功能,又支持运算功能,称为全功能驱动(Complete function);
  • 如果只支持显示,不支持运算,就是Display Only驱动;
  • 如果只支持运算,不支持显示功能,就是Render Only驱动。

微软在Win8的系统上,为所有不同类型的显卡,编写了Display Only和Render Only驱动。在未安装厂商驱动或者厂商驱动被破坏、禁用的情况下,系统会默认选择使用Display Only驱动来显示桌面内容。但一般系统不会选择安装Render Only驱动,那样就什么都看不到了。Render Only驱动的具体应用场景,我到目前还没有看到。可能在Render Only的数据服务器显卡上会被运用。

显卡类型 驱动
全功能驱动 (Complete function) 全功能驱动
只运算驱动 Render Only驱动
只显示驱动 Display Only驱动

0 篇笔记 写笔记

WDDM 设置电源状态
电源状态使用DxgkDdiSetPowerState来实现 InitialData.DxgkDdiSetPowerState = BddDdiSetPowerState;当驱动工作时方可进行电源状态的设置NTSTATUSBddDdiSetPowerStat......
WDDM 适配器复位和资源的释放
通过获取的适配器信息将SupportNonVGA置为TRUE,表示支持使用DxgkDdiStopDeviceAndReleasePostDisplayOwnership函数重置显示设备并释放当前开机自检(POST)设备的所有权。 InitialData.DxgkDdiStopDeviceAn......
IRP的完成IoCompleteRequest
每当一个IRP在下层设备层完成时,是需要调用IoCompleteRequest来实现IRP的完成,这个完成其实是实现对执行的IRP的善后操作,这个操作其实是一个宏,真实函数数是IofCompleteRequest。#define IoCompleteRequest IofCompleteReque......
IoCopyCurrentIrpStackLocationToNext和IoSkipCurrentIrpStackLocation操作的IO_STACK_LOCATION有什么区别
在Windows驱动中,传递IPR一般有两种操作:一种是调用IoSkipCurrentIrpStackLocation,表示跳过本层驱动的操作,直接转发至下层: IoSkipCurrentIrpStackLocation(Irp); return IoCallDriver(FDODeviceEx......
IRP完成APC执行函数IopCompleteRequest
IRP在完成时调用IoCompleteRequest,其最终会执行一个APC调用,该调用的函数名为IopCompleteRequest。其调用APC调用时的代码如下:KeInitializeApc(&Irp->Tail.Apc, &......
WDDM 显卡及显卡驱动的分类
随着显卡的技术的发展,对于三维图形处理的功能越来越强,所以直接导致的一个结果就是显卡的数学处理能力(浮点计算)的功能越来越强。所以对于一些需要进行大量数学计算的模块,将这些功能交由显卡来进行处理相比较CPU更能大幅度提高效率。如现在的人功智能AI,还有前几年火热的挖矿…这些都是需要复杂的数学计算......
URB功能大全 URB_FUNCTION
#define URB_FUNCTION_SELECT_CONFIGURATION 0x0000#define URB_FUNCTION_SELECT_INTERFACE 0x0001#define URB_FUNCTION_ABORT_PIP......
obs_display结构体
obs_display结构体用于存储需要将显卡渲染的图像输出到窗口显示的对象。struct obs_display { bool update_color_space; bool enabled; uint32_t cx, cy; uint32_t next_cx,......
obs_display及render_displays
一个obs_display_t是一个渲染组,其与窗口HWND绑定,也可以认为其代表一个交换链。render_displays是显示渲染的结果,可以有多个,与窗口HWND绑定obs_display_t创建在OBS中其实就是输出主窗口。其结绝体如下:/* displays */struct......
obs-scene场景图形渲染render
obs-scene场景的图形渲染函数为scene_video_render.video_render = scene_video_render,函数内容如下:static void scene_video_render(void *data, gs_effect_t *effect){ ......
render_main_texture
render_main_texture函数中比较重要的是:static inline void render_main_texture(struct obs_core_video_mix *video){...//设置背景颜色 struct vec4 clear_color; ......
作者信息
我爱内核
Windows驱动开发,网站开发
好好学习,天天向上。
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!