随笔分类 - 桌面窗口管理(DWM)
摘要:前面曾经提到过,通过WDDM可以支持Surface的跨进程共享。共享DirectX表面对于重定向DirectX应用程序非常重要。因为Vista必须要和以前的应用程序兼容,就必须支持以前用GDI、、DirectX编写的应用程序。WDM必须把这些应用程序的窗口重定向到Surface,然后由WDM统一合成、最后显示一个单一的Surface。需要注意的一点是:WDM只重定向Top-level的窗口。
阅读全文
摘要:在DWM中,我们的每个窗口都用一个Surface表示,都可以看到为是3D的网格。虽然每个窗口还是一个矩形,但它们都位于一个3D空间之中。窗口的操作,比如最大化,还原等等,都发生了变化,它们都是对网格进行3D变换实现的。与以往有了很大的区别。天下没有免费的午餐,为了实现这些功能,并且解决一些由它所引出的问题,微软提出了Windows显示驱动模型(Display Driver Model)。WDDM是Vista及以后操作系统的新的DirectX驱动模型。WDDM主要提供三项功能:1、虚拟化视频内存。2、允许与GPU的交互。3、允许DirectX表面可以跨进程共享。
阅读全文
摘要:桌面窗口管理器是什么呢?它是Vista中的一个新组件:Desktop Window Manager(DWM)。它建立在WPF核心图形层组件基础之上。还记得我在第一个Post中所提到的Composition引擎吗?DWM的桌面合成就是建立在这个Composition引擎基础之上的新特征。它的出现几乎改变了Vista中应用程序的屏幕象素显示方式。通过DWM的桌面合成,应用程序的显示不再是直接画到屏幕上,而是一个显示内存中的一个离屏Surface。然后由DWM将这些Surface合成显示到屏幕之上。
阅读全文