IE9是微软正在开发中的下一代浏览器,在微软公布的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的硬件加速功能带来的性能提升。
网友评论