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;

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