问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Windows桌面窗口管理器(DWM)的工作原理与优势

创作时间:
作者:
@小白创作中心

Windows桌面窗口管理器(DWM)的工作原理与优势

引用
CSDN
1.
https://blog.csdn.net/no_say_you_know/article/details/136765397

Windows桌面窗口管理器(Desktop Window Manager,简称DWM)是Windows Vista及后续版本中引入的核心组件,负责处理窗口的显示和管理。通过利用图形硬件加速技术,DWM将窗口的处理转移到显卡上,提供流畅的图形体验和高效的窗口管理。本文将详细介绍DWM的工作原理及其优势。

Windows Vista之前的窗口绘制方式

在Windows Vista之前,Windows程序会直接绘制到屏幕上,即直接写入视频卡显示的内存缓冲区。这种绘制方式存在一些问题:如果窗口无法正确重新绘制自身,可能会导致视觉对象。例如,当用户将一个窗口拖动到另一个窗口上时,如果下面的窗口无法足够快地重新绘制自身,最顶部的窗口可能会留下一条线索。

导致跟踪的原因是两个窗口都绘制到同一个内存区域。拖动最顶部的窗口时,必须重新绘制其下方的窗口。如果重新绘制速度太慢,就会出现上图所示的情况。

Windows Vista引入的DWM

Windows Vista通过引入桌面窗口管理器(DWM)从根本上改变了窗口的绘制方式。启用DWM后,窗口不再直接绘制到显示缓冲区,而是每个窗口绘制到屏幕外内存缓冲区,也称为屏幕外表面。然后,DWM将这些表面组合到屏幕上。

与旧的图形体系结构相比,DWM具有以下优势:

  • 减少重绘消息:当一个窗口被另一个窗口遮挡时,被遮挡的窗口不需要重新绘制自身。
  • 减少拖影:以前,拖动窗口可能会创建可视拖影,如前所述。
  • 视觉效果:由于DWM负责组合屏幕,因此它可以呈现窗口的半透明和模糊区域。
  • 自动缩放:实现高DPI支持,虽然这不是处理高DPI的理想方法,但对于未针对高DPI设计的旧应用程序来说是一个可行的回退方案。
  • 备用视图:DWM可以以各种有趣的方式使用屏幕外表面。例如,DWM是Windows Flip 3D、缩略图和动画过渡背后的技术。

需要注意的是,DWM的启用并非总是保证的。如果图形卡不支持DWM的系统要求,或者用户通过“系统属性”控制面板禁用了DWM,那么程序不应依赖于DWM的重绘行为。在禁用DWM的情况下测试程序,确保它能够正确重绘。

DWM的核心功能

DWM的核心功能是窗口的渲染和合成。当一个窗口被打开或改变尺寸时,DWM会将窗口的内容绘制到图形缓冲区中,并通过显卡将缓冲区的内容显示在屏幕上。DWM还支持硬件加速,利用显卡的计算能力来加速窗口的渲染和合成过程,提供更快速的窗口响应和更平滑的界面动画。

参考资料

微软官方文档:桌面窗口管理器

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号