跟着Windbg看DWM

跟着Windbg看DWM1 什么是 DWM DWM 全称桌面窗口管理程序 是 Windows Vista 之后一个全新的窗口管理系统 他决定 windows 应用程序的呈现方式 用过 XP 的同学肯定遇到过窗口拖影的情况 在 XP 时代 窗口绘制都是直接提交到显卡的显存中显示的 简单来说就是 Windows 桌面只有一个对应的图像缓存

大家好,我是讯享网,很高兴认识大家。

1.什么是DWM

DWM全称桌面窗口管理程序,是Windows Vista之后一个全新的窗口管理系统,他决定windows应用程序的呈现方式,用过XP的同学肯定遇到过窗口拖影的情况。


讯享网

在XP时代,窗口绘制都是直接提交到显卡的显存中显示的,简单来说就是Windows桌面只有一个对应的图像缓存,所有程序都直接在这个缓存下进行渲染。这样就知道了只有应用程序知道应该怎么绘图,而XP下的Windows桌面系统完全不知道怎么绘制,因此当窗口出现未响应的窗口被遮挡时,Windows就会产生拖影的现象。

Windows Vista后彻底对窗口系统做了重构,引入了DWM,Windows应用程序的窗口绘制的图形就不会再和XP一样绘制到如上所说的桌面缓存里面去了,而是将绘制操作重定向到DWM的对应的off-screen surface上,然后再通过DWM合成输出到显示器上。

2.DWM对截屏的影响

先看一张图再开启DWM和关闭DWM截取窗口的效果

从图中可以看出启了DWM的则直接截取指定窗口及其子窗口的图像;而没有开启DWM则截取到目标窗口所在区域的所有图形;

其本质原因是如上文所说是

    每个进程中都有各自的Surface,DWM中会为单个进程的所有窗口维护一份合成之后的Surface;
小讯
上一篇 2025-01-24 19:15
下一篇 2025-02-15 09:51

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/40568.html