Aero,又叫AeroGlass,是从Windows Vista开始引入的毛玻璃风格的界面,微软全新推出的操作系统Windows 7也继承了这种界面设计。它的效果确实让人眼前一亮,然而很多人却认为这个美轮美奂的界面是华而不实的花瓶。那么,Aero界面真的是华而不实吗?非也!
解读Windows Aero
微软Windows Vista系统由于生不逢时而惹来了很多不好的名声,很多人更是人云亦云,并仅从其表面主观判断这个系统的好坏,因而出现了很多持有“Aero无用”或“Aero华而不实”之类的观点的人。
对于全新推出的Windows 7操作系统,由于有Vista打下的基础(硬件驱动以及软件的成熟),加上微软在Win7上付出的努力,这个新一代的操作系统获得了不错的反响。大家都逐渐愿意去关注她,拥抱她。正好给了我一个机会为Aero平反。
本文将通过简述Aero的基本工作原理来讲述Aero除了给我们带来华丽的界面之外还给我们带来什么样的好处,并让大家对Windows 7有更多的了解。评价一样事物,不应只看其表面,更应该看清楚它的“八仙全传之八仙过海主题曲心”。
传统桌面渲染模式的缺陷
下图的现象相信你非常熟悉:
传统桌面渲染模式的缺陷
下图的现象相信你非常熟悉:
图1
为什么会这样?要解析清楚这个,我们就需要了解一下传统的Windows桌面渲染原理。
在Windows Vista之前,Windows只有一个桌面缓存,并且所有的程序窗口都直接在那个缓存上进行渲染。
这样说或许比较抽象,用个比较形象的说法就是,你所看到的整个屏幕上的画面就相当于一张画在一张纸上的画。对,就是只有一张纸。
这样造成的结果是什么呢?我们再来看。如何做三明治
图2有2个计算器窗口,其中一个被另一个覆盖了一部分窗口内容。而被覆盖的那个计算器的窗口内容,实际上就只有看得见的那部分(参见图3)。
图2 图3
这是因为所有窗口都只在一个缓存上直接渲染(绘图)的关系。试想一下,一张纸上的内容,除了你所能够看到的那些部分之外,还会有什么?
所以当我们移动上面的那个计算器窗口的时候,下面那个计算器的窗口就要重绘,整个画
面都需要重绘。
而当我们在另一个应用程序上快速来回移动窗口时,由于下面的窗口更新速度太慢,没能及时重绘窗口,从而形成了图1的那种撕裂现象。与此同时,CPU占用率也会变得很高。
并且最终的桌面渲染是由GDI和GDI+图形引擎来渲染的,在高分辨率的情况下,渲染出来的画面也不够细腻。
传统的桌面渲染由于存在撕裂现象、画面不流畅、CPU占用率高和画面粗糙这些问题,显然不能适应未来的发展,而且所有的这些缺陷在高DPI的显示器下会变得更明显。
Aero的真身——桌面窗口管理器(DWM)56个民族56朵花歌曲
桌面窗口管理器与桌面合成
而当我们在另一个应用程序上快速来回移动窗口时,由于下面的窗口更新速度太慢,没能及时重绘窗口,从而形成了图1的那种撕裂现象。与此同时,CPU占用率也会变得很高。
并且最终的桌面渲染是由GDI和GDI+图形引擎来渲染的,在高分辨率的情况下,渲染出来的画面也不够细腻。
传统的桌面渲染由于存在撕裂现象、画面不流畅、CPU占用率高和画面粗糙这些问题,显然不能适应未来的发展,而且所有的这些缺陷在高DPI的显示器下会变得更明显。
Aero的真身——桌面窗口管理器(DWM)56个民族56朵花歌曲
桌面窗口管理器与桌面合成
桌面窗口管理器(DesktopWindow Manager,DWM)是从Vista开始引入的一个新组件,它使用全新的技术来渲染桌面——桌面合成(Desktop Composition)。
Aero界面是基于DWM的。开启DWM王一博偶像练习生后,所有窗口都有自己独立的缓存来进行渲染,然后由DWM进行管理并获取所有缓存的内容,再通过桌面合成组合出最终的桌面。
Aero界面是基于DWM的。开启DWM王一博偶像练习生后,所有窗口都有自己独立的缓存来进行渲染,然后由DWM进行管理并获取所有缓存的内容,再通过桌面合成组合出最终的桌面。
图4 桌面合成
这就好比用多张独立的画来叠放出一张新的画出来。如果你懂得图层这个概念就能更好地理解这一点了。
进阶阅读:DWM只会为Top-Level(请意会)的窗口开辟出独立的缓存来渲染。对于MDI应用程序,它的所有MDI子窗口都会跟主窗口合并为一个窗口,并由DWM开辟出一个缓存来渲染。也就是说,所有MDI子窗口都不会有独立的渲染缓存。
当今的显卡发展越来越快,性能也越来越强大,可是除了玩3D游戏和多媒体应用之外,显卡的资源根本没有得到充分利用。
而传统的基于GDI引擎的显示技术也很难实现平滑流畅的动画效果,于是,为了更充分地利用显卡的资源以及为用户提供更高的视觉体验,DWM使用了DirectX来渲染桌面。
桌面合成技术结合显卡强大的图形处理能力,为我们带来了这些好处:
1. 告别撕裂现象
由于每个窗口都有独立的缓存来渲染自身,撕裂现象将不再出现。
同时,以往拖动播放视频的窗口出现的图像跳帧现象也会被杜绝。现在即使你不停地拖动播放视频的窗口,图象也可以流畅的显示。
2. 更低的CPU占用率
桌面合成的设计加上显卡图形处理器(GPU)的运算能力,快速拖动窗体时的CPU占用率会变得很低。不仅如此,视频播放的CPU烧烤的调料怎么配占用率也会更低。
3. 实时缩略图
使用独立缓存来渲染窗口,窗口不再像图3那样残缺不全,实时更新的窗口缩略图也因此得以实现(如图5)。实时缩略图能够在一定程度上提高我们的工作效率,Win7的超级任务栏在这方面发挥得很好。
同时,以往拖动播放视频的窗口出现的图像跳帧现象也会被杜绝。现在即使你不停地拖动播放视频的窗口,图象也可以流畅的显示。
2. 更低的CPU占用率
桌面合成的设计加上显卡图形处理器(GPU)的运算能力,快速拖动窗体时的CPU占用率会变得很低。不仅如此,视频播放的CPU烧烤的调料怎么配占用率也会更低。
3. 实时缩略图
使用独立缓存来渲染窗口,窗口不再像图3那样残缺不全,实时更新的窗口缩略图也因此得以实现(如图5)。实时缩略图能够在一定程度上提高我们的工作效率,Win7的超级任务栏在这方面发挥得很好。
图5 实时缩略图
4. 更酷、更实用的用户界面
仍然以独立缓存为基础,再借助强大的DirectX,诸如毛玻璃窗口边框、Flip3D窗口变换动画(如图6)等动态效果都能轻松实现。在带给用户前所未有的视觉体验的同时,也具备很好的实用性。毛玻璃的窗口边框,能让用户更专注于内容;全新的基于实时缩略图的Alt+Tab窗口切换以及Flip3D(组合键:Ctrl+Win+Tab)的3D窗口切换,能让用户轻松遍历
所有窗口,窗口切换更直观、更有效率;Win7新增的Aero Peek也同样具备很好的实用性。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论