在DWM中,我们的每个窗口都用一个Surface表示,都可以看到为是3D的网格。虽然每个窗口还是一个矩形,但它们都位于一个3D空间之中。窗口的操作,比如最大化,还原等等,都发生了变化,它们都是对网格进行3D变换实现的。与以往有了很大的区别。
在Windows Vista中窗口的毛玻璃效果非常绚丽。在窗口的边界,我们可以看到窗口下面的内容。这其中同时具有一个的透明和模糊效果。但是,在实现毛玻璃时,为了不让下面的窗口内容过于清晰影响上面的窗口,DWM组还对下面的窗口实现了模糊效果。其中的实现要点有:
1、模糊下面的内容,这是由自定义的象素Shader实现,这个Shader是一个完全运行在GPU的小程序,它可以并行处理多个象素。
2、模糊只是针对窗口边界下的部分内容。这些内容需要从不同的缓冲提取出来。
3、摸索的方法类似于平均值处理:一个象素的值等于其邻居象素的平局值。
众所周知,Direct3D支持多个Surface,最后显示不同Surface时是通过Flip(翻转)实现的,DWM也是如此。这样实现的结果就是不会在出现以前的Tearing。使得桌面变得更平滑。
现在,我们的桌面虽然称得上是一个全屏幕的Direct3D应用程序。不管是老式只支持帖图加速的图形处理器还是新型的高速图形处理器,我们都需要操作图形处理器的存储系统。这就出现了两个重要的问题:
1、在窗口很多时,运行DWM需要的内存将是一个问题,它随着用户的窗口数增加而增加。
2、DWM会与其它的应用程序共享内存资源。比如DirectX应用程序、视频回放和WPF应用程序等等。
解决这些问题,微软提出了Windows显示驱动模型(Display Driver Model)。WDDM是Vista及以后操作系统的新的DirectX驱动模型。WDDM主要提供三项功能:1、虚拟化视频内存。2、允许与GPU的交互。3、允许DirectX表面可以跨进程共享。
在WDDM中,显示内容是虚拟化的。这就表示显示内容与系统内存一样。我们知道,在系统内存中如果内存分配完毕,此时还有新的分配要求,就会产生第二存储页面,然后由系统管理存储页面和主存储的页面算法和机制。现在,主存储是显示内存,而第二存储页面是系统内存。在显示存储和系统内存都分配完后,将使用磁盘作为视频内存表面。当然,这种情况比较少见。但是这样的设计使得WDDM足够的健壮,应用程序的可靠性也得到增强。在WDDM而言,它将实现非常关键的功能:执行内存的分配、实现分配内存和真正的显示内存的控制。WDDM本身也在不断的改进中。
既然WDDM已经实现了显示内存的虚拟化,那么这就意味着WDDM具有调整应用程序的GPU命令优先级的功能。这种功能通常是由WDDM调度程序实现。因此WDDM必须能中断GPU的某些操作,并保存操作的上下文,以备在必要时恢复操作继续运行。基于这项功能,WDDM提供了两种级别的调度支持:
1、基本调度。它是基于DirectX9的WDDM驱动和硬件所支持的调度粒度。也就是说单独的Primitive和Shader程序不能被中断,上下文交换必须在它们完成后进行。
2、高级调度。它是基于DirectX10的WDDM驱动和硬件所支持的调度粒度。这种调用支持比Primitive和Shader更细粒度的中断。注意,虽然DirectX10支持高级调度,但是它并不是DirecX10所必须的。也就是说,只有部分硬件支持高级调度。桌面窗口管理器使用DirectX9,因此它是支持基本调度。
分享到:
相关推荐
Windows Vista是微软公司推出的一款操作系统,作为Windows XP的继任者,它在2007年发布,旨在提供更为安全和高品质的用户体验。微软官方强调Windows Vista是他们至今为止最安全的操作系统,这主要体现在其增强的安全...
总的来说,"仿Vista 3D窗口切换功能"是一种通过第三方软件模拟Windows Vista中独特的用户交互方式,为用户提供更有趣、更直观的多任务管理体验,而且这一功能的实现涉及到图形处理技术、窗口管理、用户输入响应等多...
总的来说,“Windows Vista 透明主题包”是一个集美观与实用性于一体的桌面定制工具,它让用户的电脑桌面更加个性化,同时也提升了操作效率。对于怀念Vista时代或者喜欢探索不同视觉效果的用户来说,这是一个不容...
Vista桌面,全称为Windows Vista桌面,是微软在2006年发布的Windows操作系统的一个重要版本,它带来了许多视觉和功能上的改进。Windows Vista引入了全新的用户界面,名为Aero,其设计目标是提供更加现代化、透明且...
2. User Account Control (UAC):Vista强化了用户权限管理,引入了UAC。开发者需适应这一变化,了解如何编写兼容UAC的应用程序,确保程序在不同权限级别下都能正常运行。 3. Windows Imaging Component (WIC):...
比如,Windows Vista引入了 Aero Shake,允许用户通过简单地晃动窗口来最小化其他非活动窗口,从而快速清理桌面,集中注意力。此外,Windows Vista的桌面小工具也利用了3D效果,提供了一系列实用的小应用程序,如...
这个位置包含了与Windows桌面窗口管理器(DWM)相关的设置。 5. 在DWM的右侧窗口中,右键点击空白区域,选择“新建 > DWORD (32位) 值”,创建一个新的32位双字节数据项。 6. 将新建的DWORD值命名为...
Windows Vista的任务管理器是系统中一个非常实用的工具,它可以帮助用户查看当前系统中正在运行的所有进程。通过快捷键`Ctrl+Shift+Esc`可以直接打开任务管理器,也可以通过右键点击任务栏选择“任务管理器”。在...
"WinXP Vista桌面主题"标题指出,这是一组结合了Windows XP与Windows Vista元素的主题包,旨在将Vista的美观设计融入到经典的XP系统中。 Vista_蓝色文件名表明,该主题主要采用蓝色调,这是Windows Vista操作系统中...
在本文中,我们将深入探讨如何将Windows XP操作系统装扮成Windows Vista的界面风格,以此来提升用户的视觉体验。Windows Vista是微软在2007年推出的一款操作系统,它引入了全新的 Aero Glass 界面,带来了更加现代化...
"Vista_黑夜精灵桌面主题 For Xp"是一款专为Windows XP系统设计的主题包,它旨在为用户带来与微软Vista操作系统类似的视觉体验,尤其是在夜间或低光照环境下,提供一种神秘而优雅的桌面环境。这款主题不仅注重美学...
在Windows XP系统中,用户可能想要追求更现代的视觉效果,比如Vista系统引入的窗口半透明特性。这个“XP桌面半透明仿VISTA 窗口半透明.rar”压缩包正是为了解决这一需求,它包含了一种方法,使得在不升级到Vista或更...
2. fun.js - 这是一个JavaScript文件,可能用于实现网页上的互动效果,例如模拟Windows Vista的动态效果,如玻璃透明、窗口缩放等Aero特效。 3. win - 这个文件名太简短,无法确定具体含义,但根据上下文,它可能是...
在系统性能方面,Windows Vista引入了ReadyBoost和ReadyDrive技术,利用USB闪存驱动器和混合硬盘来提高系统响应速度和内存管理效率。虽然Vista初期因对硬件要求较高而受到批评,但随着硬件的发展,这些优化措施使得...
在Windows Vista中,Aero Glass特效就是一种立体桌面的表现形式,它提供了透明窗口边框、动态任务栏以及Aero Peek等功能,使得桌面体验更加现代化和生动。 然而,Vista Home Basic版本并不包含Aero特效,因为它定位...
Aero Glass效果让窗口看起来更加立体和现代,同时改进的桌面切换和窗口管理也提升了工作效率。 二、搜索功能强化 Vista的搜索功能大大增强,用户可以快速搜索电脑上的文件、邮件甚至系统设置。Instant Search功能...
在Windows Vista和Windows 7中,微软引入了Aero特效,其中包括桌面透视和窗口平滑过渡等3D效果。而Windows 3D旋转桌面则是在此基础上进一步拓展,它允许用户通过快捷键或设置来触发桌面立方体的旋转,使用户能够从...
在“超酷Windows XP桌面主题”中,包含了WinXP和Vista风格的主题,同时也有简约风格的主题,满足了不同用户对于桌面美观度的需求。 接下来,我们来看看如何应用这些主题。通常,下载的主题文件是一个.zip或.rar格式...
Vista桌面时钟是一款模拟微软Windows Vista操作系统中经典桌面时钟的小工具,它适用于Windows XP系统,为用户提供了一种在XP环境下享受Vista风格时钟的体验。此绿色汉化版意味着程序已经被汉化为中文,用户无需担心...
关于窗口样式,Vista允许用户更改窗口边框的颜色和宽度,甚至可以启用或禁用Aero Shake(窗口晃动)和Aero Peek(预览桌面)功能,以满足不同的操作习惯和审美需求。同时,手册还会指导你修改文件夹和文件的图标,使...