DWM Desktop Window Manager

1010 篇文章 11 订阅
786 篇文章 9 订阅

Windows窗口管理器

  Desktop Window Manager ( dwm.exe) 是窗口管理器的组成部分, 是它给Vista系统(同 Windows7)提供视觉效果: 设置 窗体的透明度,动态的 任务栏预览, 甚至是3D任务切换。

DWM的外部特征

  DWM当然之后Vista的一部分,它的特点包括在Windows Vista Aero体验中。这里将拉出来几个可识别的特点。

桌面组合

  到目前位置Vista最大的改变就是引进桌面组合。这成为一切都由DWM执行的基础。桌面组合的主要特点是:应用程序取得屏幕上像素的方法已经本质的改变。
  在Windows的各个版本,直到XP,程序通过窗口来paint他们的可见区域,并且它们直接paint到buffer,然后显示到显卡。有了Vista,程序通过窗口来paint它们的整个表面到一个离屏(offscreen)的表面(可能叫做位图,缓冲区或纹理),并且DWM处理所有这些offscreen表面,并且组合在一起放到onscreen缓冲区。

一些例子:

  访问窗口
  现在程序是render到offscreen,这些offscreen表示能用在其他地方。这就是Flip,Flip3D和小图片特性怎么样工作的,并且其他的特性也能利用这个点。
  不要在窗口操作中将背景程序牵涉进来
  当窗口移动通过XP或以前的屏幕时,背景窗口部分仅仅在背景窗口苏醒并且开始paint的时候可见(相应WM_PAINT消息,其收到顶级窗口的移动消息)。对于非响应背景程序,或即使是响应的程序但正好是page out的,也会导致很差的用户体验。
  考虑移动paint程序窗口通过一个IE窗口。在XP或之前的OS中,下面的症状是不幸的但也是非常普通的:两个case中下面的IE程序不能足够快的repaint它自己来避免由移动Paint窗口留下的尾巴。
  在Vista下,就不是这样的情况了,下面的窗口不会收到WM_PAINT消息,并且不会被请求要render,由于它们的内容已经在DWM中,并且用来组合这个screen的。

Tear free体验:

  假定,DWMrender到screen,DirextX提供的典型地用在游戏上最新技术能用来整个 桌面体验。特别的,图形卡flip前缓冲区能在 屏幕上移动,增加了用户体验的平滑行和质量。

高分辨率的支持:

  主要的程序输出都是对监视器分辨率(DPI)不可知的。随着高分辨率监视器的增加(120 DPI,144DPI),程序出现在非常小的物理空间会带来比较坏的体验。因为DWM有访问程序窗口的offscreen,DWM是唯一缩放这个DPI无知程序的地方,将其最终展现给用户,提高高分辨率监视器上的体验。

内存的使用情况

  因为每个窗口都需要在内存中有一个缓冲区来存储窗口的上下文, 所以这个   dwm.exe  进程所占的内存大小是由打开窗口的个数控制的. 如果打开了大量的窗口, dwm.exe 则会占用更多的内存. 在大多数情况下, 相比占用相对较少的内存, 使用复合 窗口管理器是值得的.

关闭 dwm

  关掉 dwm.exe 的唯一方法是停止这个服务运行. 在控制面板或者开始菜单中打开"服务", 然后找到列表里的 "Desktop Window Manager Session Manager", 然后点击"停止"按钮, 注意在点了"停止"按钮后你会切换到系统的基本主题(Basic Theme) .
  可以以 管理员模式运行控制台然后使用下面的命令:
  Stop Service net stop uxsms
  Start Service net start uxsms
  Disable Service sc config uxsms start= disabled
  Enable Service sc config uxsms start= auto

将来可能的topic

  桌面组合是DWM提供的最基础的方面,但我们已经仅仅简单说了一下表面的主题,那里仍然有许多关于探索和完全理解我们在Vista中正在做什么的topic。这里错略列了几个topic:
  1.DWM使用 DirextX, GPU和 硬件加速
  2.Vista显示驱动模型对DWM的重要性和影响
  3.重定向GDI和DirextX程序
  4.怎么样揭示正在使用的WPF概念和技术
  5.DWM怎么样paint窗口边界和其他非客户区
  6.DWM远程,显著和访问性
  7.高DPI支持
  8.公共的探索DWM API
  9.rener和可视性的优化
  10.DWM的内存使用

其他DWM相关的源信息

  最技术的理解讨论关于DWM的WEB是可能的,确实有其他地方那个有相关的信息和新闻:
  1.Kam VedBrat维护的 log,常常给DWM内部的描述,特别是DWM的特性和Vista Aero。
  2.microsoft.public.windows.developer.winfxaero新组讨论所有Aero相关的东西
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值