|
||||
在微软公司公布的新一代浏览器IE9中,带有硬件加速功能是该浏览器的最大亮点所在。为了使大家能更好的了解这个新功能,下面我们将用具体的例子对其进行详细介绍。
我们在研发互联网浏览器IE9时一直以充分利用现代个人电脑硬件优势使浏览器速度更快为目标。作为浏览器研发团队,我们非常高兴的向大家介绍IE9中拥有的硬件加速特性。硬件加速功能的推出必定会进一步促进网站性能的提高和标准网页标识的发展。研发者可以在新网页标识的基础上开发出更多网页应用程序类,并最终使得用户使用浏览器时网页的响应速度不断得到提高。在这篇文章中,我们以IE9浏览器运行飞行图像样本为例,近距离向大家解释硬件加速功能所赋予IE9的特殊性能。
当用户使用不同的网页浏览器运行“飞行图片”时,你会发现IE9可以迅速处理数百张飞行图片,而包括IE8在内的其他浏览器处理“飞行图片”的速度会相对较慢。
我们认为,不同浏览器对飞行图片的处理过程是最可以彰显IE9利用硬件加速特性的优势所在。飞行图片是利用标准HTML、CSS层叠样式表、Java脚本等标准标识码创建的动画图片。有兴趣的用户可以在网络上找到飞行图片后台运行的源代码,其中最容易找到的应当是Java脚本源代码。在飞行图片后台运行Java脚本源代码中我们可以看到,该程序将动画框架实时相应帧率设置为每秒60帧的速度。
为使IE9拥有利用硬件加速特性,我们对IE9的内核进行了重新设计。主要增加的功能有三点:1. IE9中的“显示渲染子系统”可以利用显卡中的图形处理器来处理网页上的所有图像和文字。其工作原理是IE9将原本由中央处理器(CPU)完成的图像处理任务转交给专门负责处理图像的硬件图像处理器(GPU)来完成。2. IE9可以利用Java脚本引擎更加有效的利用当前流行的多核处理器,在后台将Java脚本程序代码转换成可以和硬件直接交流的汇编语言。3.相对于其他浏览器,IE9更加充分的利用了当前主流处理器的指令集。综合这三点优势后,用户使用IE9时计算速度会更快,同时可以节省中央处理器(CPU)资源去执行其他多线程程序。
用户可以使用“任务管理器”或其他检测工具来测试使用IE9时计算机的中央处理器(CPU)和图形处理器(GPU)的活性动态。在这里,我们建议用户使用“Windows性能工具(Performance Tools)”进行检测。“Windows性能工具”可以更好的为用户展现Windows操作系统的资源利用状态的同时,可以过滤程序层级的活性动态,这样可以使用户更真实的了解到CPU和GPU的活性动态。下面我们将以实际例子为大家介绍一下IE9硬件加速功能的优良特性:
现在有一台已经使用两年的戴尔电脑。其具体配置为:主频为3.0 GHz的双核奔腾处理器、4 GB的物理内存、NVIDIA GeForce 8600 GT独立显卡、100GB7200转的硬盘、Windows 7的操作系统。我们将使用不同的浏览器来进行飞行图片运行操作,检测在操作过程中的中央处理器(CPU)及图形处理器(GPU)的活性动态。
下面几幅图片展示的是在不同浏览器中运行飞行图片操作1.5秒后,图片已经完全下载成功并开始动画显示过程时,CPU和GPU的利用状况,及视觉更新(Visual Update)所显示的帧数。
1. 在使用IE8运行飞行图片时CPU及GPU的活性动态
从上面的图片中我们可以看出, 在使用IE8运行飞行图片操作时,双核处理器中的一个中央处理器资源几乎被全部占用。其主要原因在于尽管一些网页浏览器(包括IE8在内)支持多线程操作,但飞行图片自身的模式为单线程操作,所以运行飞行图片时,无法实现双核处理器并行运行。即便如此,IE8仅可以将图片移动速度最快保持在0.221秒/帧的速度上。这也就是说,每秒的帧数仅为4.5帧。同时,我们可以看到的是GPU资源在整个过程中完全被空置。
2. 在使用谷歌Chrome4.1浏览器运行飞行图片时CPU及GPU的活性动态
从图片中我们可以看出,在Chrome4.1浏览器上运行飞行图片时,CPU及GPU的利用状况和IE8相似。在Chrome4.1浏览器上图片移动速度更慢,为0.238秒/帧,也就是说每秒的帧数仅为4.2帧。尽管在通用行业标准下,Chrome4.1浏览器的Java脚本引擎要优于IE8。但运行飞行图片操作检测的是浏览器的整体性能,而不仅仅是利用Java脚本引擎。这个过程要调用浏览器的不同子系统:调用Java脚本引擎来计算图片的新位置;调用CSS层叠样式表为图片定位;调用显示系统来展示图片等等。