IE9是微软正在开发中的下一代浏览器,在微软公布的IE9已知特性中,支持硬件加速无疑是一个令人关注的地方。
硬件加速让网络应用更丰富
IE9是微软正在开发中的下一代浏览器,在微软公布的IE9已知特性中,支持硬件加速无疑是一个令人关注的地方。在硬件发展迅速的背景下,充分利用闲置的硬件资源,能够进一步提高浏览器的性能和速度,而开发人员可以开发出更多当前浏览器无法实现的网络应用。
为了让大家更好的了解IE9这一新特性,微软在IE9的主页上专门提供了一个用来展示该特性的 Flying Images。
进入IE9的主页后,点击 Flying Images ,进入该demo页后,浏览器里会出现很多浏览器的图标,这些图标会不停的移动和变化。
当你使用不同的浏览器来运行这一测试时,会发现图标的数量、移动变换速度各不相同,只有IE9能够在大量图标的情况下同时让这些图标快速移动和变换,其他浏览器就明显跟不上,在IE8上,这些图标几乎就是在爬行。
这个测试页面上并没有使用什么特殊的东西,完全是标准的HTML、CSS和JavaScript标记,代码也是各种网页上常见的。
微软重新设计了IE9的核心,使其支持硬件加速。IE9的显示渲染子系统能够利用显卡GPU来处理网页上的各种图像和文字,它将通常由CPU完成的图像处理任务转移到了更快更专业的硬件——GPU上。IE9的JavaScript引擎能更好的利用多核处理器,在后台将JavaScript代码转换成汇编代码。在整个IE9里,对当前主流处理器的指令集利用率也很高。综合这些改进,就使得计算速度更快,同时,又能让CPU专心执行于其他操作。
IE9平台预览版下载:
硬件加速究竟有多厉害
让我们用实际性能表现来验证一下IE9的硬件加速优势吧。用一台3.0Ghz 双核CPU、4GB内存、Geforce 8600GT显卡、100GB7200转的硬盘,在Windows 7平台下,用不同浏览器进入上述 Flying Images 测试页,分别观察其CPU和GPU使用率。
首先是IE8,下图中的CPU使用率显示了IE8持续并完全占用了处理器中的一个内核,以试图达到60帧的目标速度。而实际结果是,即使100%的占用了一个处理器核心,最终IE8也只能达到平均4.5帧的速度。虽然如今大多数浏览器都能支持多进程架构,但是这个页面上仍然使用了单进程的编程模式,所以多核处理器在这里发挥不用处。另外,GPU在这里一直处于闲置状态。
Chrome 4.1也是类似的情况:单独占满了一个CPU核心的使用率,GPU则闲置。它和IE8在帧数成绩方面也几乎相同,4.2帧左右。
再来看看Safari 4.0.5和Firefox 3.6的表现,和前面两个浏览器的结果基本相同,safari 5.2帧,firefox稍快些,有16.1帧。
最后,换IE9平台预览版上阵,马上呈现了不同的结果。硬件加速的优势在这里尽显无遗,首先是CPU不再是连续的满负荷运行,仅仅在小部份时间里全负载运行,在CPU空闲的时间里,GPU接过处理任务。通过GPU,IE9轻松的达到了预期的60帧速率,更重要的一点,整个过程中CPU的平均使用率只有12%左右,GPU平均使用率也仅为15%。
在运行这个页面的过程中,IE9利用另一个处理器核心进行JavaScript编译操作,接着利用它来执行编译后的代码,这些代码用于计算图像的下一个显示位置,这样IE9就可以更快的确定每个图像的下一个位置,然后通过CSS层来实现图像移动。完成这两步之后,显示图像的工作交给GPU处理,CPU则等待下一次换位运算和移动操作的请求。在两次处理请求之间,无论是CPU还是GPU都会得到很多空闲时间,有充足的资源去处理其他的任务,因此你就看到了上图中记录的处理器工作时间小于空闲时间。
这就是IE9的硬件加速功能带来的性能提升。
网友评论