如今,各大浏览器都开始使用硬件来加速图形性能,IE9 Beta也即将发布,微软在此时对比了完全硬件加速和部分硬件加速之间的区别,向众人揭示了IE9的优越性。
2009年11月的PDC大会上,开发人员首次见到了浏览器是如何使用硬件加速的。2010年3月,微软发布了IE9首个平台预览版,默认开启了GPU加速HTML5功能,将硬件加速运用到了Web页面的每一个内容上,包括文本、图像、背景、边框、SVG内容和HTML5视频/音频,主要使用了Windows DirectX图形API。在7月发布的平台预览第三版中,IE9引入了硬件加速HTML5 canvas。
IE9硬件加速
浏览器可以使用硬件来加速一个HTML页面所有步骤中的一些或是全部,下图中就描述了IE9中的HTML页面渲染主要步骤:
IE9页面渲染共分为三大阶段:
内容渲染:IE9在第一个阶段使用Direct2D和DirectWrite子系统内容渲染的硬件加速;
页面生成:IE9在这个阶段使用Direct3D加速页面绘制,在渲染图片密集型任务时为IE提供优异的性能;
桌面生成:在浏览器完成内容渲染并生成页面后,Windows Vista和Windows 7会通过Desktop Windows Manager(DWM)使用GPU来生成最终的屏幕显示画面。
完整硬件加速VS.部分硬件加速
在IE9中,开发人员能够使用完整的硬件加速。实际上,完整利用GPU是一项极具挑战性的工作,直接写至中级层和库而取代操作系统的本地支持就更加困难了,但是Windows的DirectX在对3D游戏的支持中获取了大量的经验,是当前最高性能的GPU渲染系统。
当你使用其它支持硬件加速的浏览器测试IE Test Drive网站上的项目时,你会发现其性能在某些方面能与IE9不分上下,但是在很多方面相差甚多。这种差距就反应了完整硬件加速和部分硬件加速之间的区别。因为IE支持最新出现的Web标准,它们也可以使用完整的硬件加速。
HTML5视频的硬件加速就是一个例子,在MIX10大会上,微软演示了使用硬件加速视频的效果;3月份的时候微软还演示了在一台上网本上播放两个高清720p视频,而且仅占用了极少的CPU,其它浏览器却累惨了CPU,还出现了丢帧现象。