行业动态

Industry news

面朝HTML5演进中的IE10蓄力升级

日期:2012-11-21  浏览次数:621

分享到:

导言:虽然目前仍处于发展阶段,但更先进的HTML5标准,以更加优异的表现成为网页开发者的手中利器。相较老旧的Flash在安全性、功耗和触控体验上越来越捉襟见肘,HTML5凭借更强的通用性,以及高清视频在线播放和网页游戏时大幅提升的渲染能力,获得越来越多开发者的亲睐。 

早在2004年,HTML5标准的制定者就提出了HTML 5草案的前身Web Applications 1.0。作为HTML5网页标准的参与构建者之一,微软理所当然在全新的Internet Explorer 10浏览器(下文简称IE10)中,加入对HTML5标准和网页硬件加速功能的全面支持,大大加强了IE10的运算处理能力。正如微软IE部门企业副总裁迪恩·哈查莫维奇(Dean Hachamovitch)在MIX 11大会开场演讲时所说:“本地化的体验才是更好的体验。在Windows平台上通过IE10的HTML5全面兼容和硬件加速能力,使得浏览器浏览网页应用体验如同打开本地程序一样流畅。” 

IE10在延续IE9对传统网页代码、网络支付和视频插件良好兼容性的同时,将对HTML5网页标准的支持提高到一个新的水平,并加入对更新CSS3标准的支持,例如flexbox、网格对齐、3D变换、动画、渐变等等,而网页开发者更常用的两款CSS3指令集Gradients和Flexible Box Layout,都已经成为IE10的组件。

 对全新标准的谨慎采纳

IE9和IE10均采用了HTML5的新标准,而IE10则是在IE9之上,对HTML5标准支持的一次全面进化。作为HTML5标准的制定者和推广者,W3C HTML工作组的联合主席,同时也是微软亚太研发集团资深专家顾问的Paul Cotton,在今年8月的HTML5开发者日暨W3C中国六周年庆典活动上曾这样评论道:“不仅有微软的网页浏览器IE9和IE10,而且连新一代操作系统Windows 8也全面支持HTML5标准。微软早在三年前就大胆选择了基于HTML5技术入手开发Windows 8系统,尽管当时HTML5技术标准还远不如今天成熟,但微软毅然选择了对HTML5标准的全面支持。目前,在Windows 8平台,微软也鼓励开发者使用HTML5脚本来进行开发。”

在论及HTML5时,实际上指的是HTML、CSS和JavaScript在内的一套技术组合标准。HTML 5提供了一些新的元素和属性,同时取消了一些过时的HTML 4标签,这其中包括纯粹用作显示效果的标记,如<font>和<center>就被CSS取代,同时HTML5的语法被设计成向后兼容。此外,HTML5标准有一个新的文档类型标签,并使用了某些类似<div>和<span>但却有一定新含义的标签,例如<nav>和<footer>,这种标签将有利于搜索引擎的索引整理、小屏幕设备和视障人士使用。

但IE对HTML5的新特性支持,也并不是一味的求新。Websockets是HTTP之外另一种服务器和客户端进行沟通的协议,它相较于HTTP的优势在于使用这个协议的服务器与客户端沟通是双向的,因此服务器便有了更加便捷的推送功能。但是微软IE团队并没有将Websockets加入到IE9中,这是因为在IE9发布时Websockets还存在较多安全隐患,并且在它日趋成熟的过程中,它的API也是在不断更新的。大多数开发者,尤其是大型企业网站的开发者并不愿意使用存在安全隐患的技术,也不希望由于API的更新而对自己的网站进行大的改动。Paul Cotton表示,即便如此大家也已经可以从IE9浏览器中看到很多对于HTML5新技术的支持,如DOM Level 3、SVG、CSS3等等。Paul Cotton在接受采访时表示:“除微软之外的其他浏览器厂商的‘心跳速度'都比微软要快,他们更急于推出新技术和新产品。Chorme一出新的版本,用了稍早标准技术开发的网站就会崩溃,需要重写。所以我们认为这是一个鱼与熊掌不可兼得的局面,你自己要去做一个权衡:到底是你希望使用更新的东西,还是希望更加稳定的技术。”

可以看出IE对于HTML5新标准的采纳十分慎重,只有当一项技术足够稳定时才会被加入到更新版本的IE当中。不仅如此,微软还建立了一些用于与开发者共同探讨HTML5技术的网站。例如,在 html5labs.com上,微软会构建一些HTML5标准的原型并发布到该网站上,供开发者发现可能存在的问题,而在 Ietestdrive.com网站上,则展示了一些经过验证已经稳定的HTML5标准的网页Demo。

不断强化的硬件渲染加速
 
尽管IE9在网页渲染硬件加速方面已经有着优秀的表现,但IE10则更进一步,相比前辈IE9所支持的API多出了一倍,包括图形渲染API、CSS 2D变换效果、SVG、HTML视频和音频,以及Canvas等等。

HTML5是未来网页技术发展的大方向,各大浏览器目前都在不断提升对HTML5支持的能力。测试显示,采用同样GPU的主频为2.7GHz的四核笔记本电脑,IE10的页面加载速度和每秒帧数测量结果,特别是在执行多种HTML5任务时的性能,都要超过Chrome、火狐和Safari,特别是对CSS3动画的支持方面,IE10的性能更是傲视群雄。而这些,均得益于IE10上更加完整的硬件渲染加速功能。

网页硬件渲染的重要性,我们可以从一个简单的例子来看:假设让网页中一个元素主体向右移动一步,则构成主体的像素点被转换到了新的位置,主体被重画,而旧的主体被擦去。在越来越精美的网页应用如高清视频、游戏中,更加复杂的运动则需要更为复杂的运算,于是渲染网页开始占据CPU的所有性能。但现代PC的运算单元不仅是一个CPU而已, 还有图形处理器(GPU)。

GPU可以有效地接替来自CPU在图形渲染过程中产生的几乎所有计算负荷,并且速度十分惊人。因此,当IE检测需要更复杂的计算时,运算会从CPU切换到GPU工作模式,在一些测试环境下,渲染性能可以轻易的从13帧每秒加速到180帧每秒。

由于IE支持更新出现的Web标准,网页应用可以在IE上获得充分的硬件加速,从而将CPU从网页运算中彻底释放,而非其他浏览器的部分硬件加速仍旧需要占用CPU计算资源。通过浏览器来充分实现GPU的价值是极具挑战性的,微软通过DirectX多年来在大量游戏中积累的丰富经验,使IE实现基于GPU的更高性能渲染成为可能。HTML 5视频的硬件加速是另一个很好的例子。在MIX10大会上,微软展示了完整硬件加速在网页高清视频播放上的优越性:在一台上网本上用IE9播放了两段720p视频,它的CPU使用率很低,另一款并非完整硬件加速的浏览器上,仅能播放其中一段码率较低的视频,不但耗尽了CPU资源还出现丢帧现象,这正是自IE9开始的全硬件加速带来的优势。

在IE9的基础上,IE10启用了改版后的JavaScript引擎Chakra。改版后的Chakra添加了64位和ARM支持,对IE10的内存分配器等功能进行了改进,这样的调整将会给IE10带来JavaScript应用的显著性能改善,特别是使用HTML5标准编写的游戏和模拟器。而知名iOS游戏《Cut The Rope》在推出其在线HTML5版本时优推使用微软IE浏览器,也证明IE浏览器对HTML5游戏的良好支持。

与IE9相比,IE10无论是在渲染速度、数据处理速度,还是网站页面打开速度上,都有了明显提升,在页面处理和视觉处理功能上也进行了加强,支持现有的主流网页标准。网页开发者更常用的两款CSS3指令Gradients和Flexible Box Layout,都已经成为IE10的内置组件之一。而在对Web App的兼容性上,得益于IE10对HTML5标准和CSS3的全面支持,IE10能更大限度地提高网页应用程序的性能、可用性和可靠性,从某种程度上来说,也节约了HTML5网页程序开发者的开发成本与开发时间。IE9和IE10对HTML5的全面而严谨的支持,以及出色的硬件加速功能,有助于开发者打造更加稳定、用户体验更丰富的网络服务。

标签:HTML5 , IE10 ,