BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Internet Explorer 9预览:新特性与分析

| 作者 Dio Synodinos 关注 3 他的粉丝 ,译者 张龙 关注 12 他的粉丝 发布于 2010年4月28日. 估计阅读时间: 10 分钟 | 都知道硅谷人工智能做的好,你知道 硅谷的运维技术 也值得参考吗?QCon上海带你探索其中的奥义

近日,微软发布了Internet Explorer 9的一个预览版,值得关注的是该预览版的性能得到了改进,同时还采取了一些标准,如SVG、CSS以及HTML 5等等。

性能

性能比较结果表明IE9预览版的JavaScript引擎要快于Firefox和IE8,但仍落后于Safari和Chrome

浏览器 Sunspider 结果平均值(ms)
IE8 3825.53
Opera 10.10 2491.93
IE9 PDC 2009 Demo 834.00
Firefox 3.6 699.80
Firefox 3.7 Alpha2 Pre-Release 610.20
IE9 Mix 2010 Platform Preview 1.9.7745.6019 598.80
Safari 4.0.5 (531.22.7) 407.93
Chrome 4.0.249.89 373.87
Chrome 5.0.342.2 (dev) 293.47
Opera 10.5 285.20

全新的JavaScript引擎

当下的人们期望JavaScript引擎能越来越快,为了满足这种日益增长的需求,IE团队开发了一个全新的JavaScript引擎,代号为Chakra

IE9平台预览版包含了我们所开发的全新JavaScript引擎(代号为Chakra)的首个版本,它从根本上改变了Internet Explorer 9中的JavaScript性能。Chakra包含了一个全新的JavaScript编译器,可以将JavaScript源代码编译成高质量的本地机器码;还有一个全新的解释器,能够在传统的网页上执行脚本;此外还对JavaScript运行时和程序库进行了改进。

IE9中的Chakra还具有很多极具价值的特性,如:

  • 后台编译
  • 类型优化
  • 快速的解释器
  • 优化的程序库

硬件加速

借助于Internet Explorer平台预览版,Web开发者可以充分利用硬件来渲染图形与文本

Internet Explorer平台预览版使用到了Windows应用编程接口(API)中的DirectX,这使得Web开发者如虎添翼。首先通过Direct2D和DirectWrite将所有的图形和文本渲染从CPU迁移到了显卡中。借助于图形硬件加速,那些需要绘制大量图形的站点不但可以降低CPU的占用率,还能加快图形的渲染速度。此外,你可以继续按照既有的方式设计站点,同时自动享受到这些变化所带来的好处。

AMD曾公开“称赞”微软在IE9中充分利用硬件的做法,这会给AMD带来如下实惠:

  • 微软使用Direct2D和DirectWrite取代了GDI来增强MSHTML渲染层。Direct2D可以实现GPU加速的2D图形与文本渲染,还支持子像素(sub-pixel,屏幕上的像素是由几种色彩构成的,通常是红、绿、蓝,也就是所谓的三原色。有时,一些显示器具有三种以上的色彩,比如红、绿、蓝、黄或是红、绿、蓝、白等。这些像素组件通常叫做子像素,但由于光学的模糊效果以及人眼神经的空间融合,最终看到的只是一种颜色——译者注)定位。此外还使用GPU进行图形的缩放(位图对应为纹理),这非常适合于图片的缩放和移动。这种GPU支持可以提升页面的可读性、更精准地定位文本与图片、改进平滑滚动和缩放。
  • 与旧版的Internet Explorer相比,JavaScript性能得到了显著的提升;与其他浏览器相比,即便没有超过他们也有得一拼。过去,IE中的JavaScript是解释执行的,并不会编译为本地的处理器指令。现在的JavaScript引擎包含了一个JIT编译器,它会发出x86指令并在运行前编译代码,这极大地提升了性能。JIT编译器会根据处理器生成指令并充分利用所处的平台。
  • IE9比其前辈更兼容于标准,新增了对HTML5元素的支持,如<video>和<canvas>,此外还支持CSS3和SVG。可以借助于Direct2D在GPU上加速<canvas>元素,<canvas>元素可以通过硬件加速渲染环境进行应用开发、改进视觉显示效果、降低CPU使用率以及提高电源使用率。

NVIDIA对此的反应与AMD如出一辙:

今天,伴随着Internet Explorer 9的横空出世,微软开启了可视化计算的新时代。Internet Explorer 9包含了一个全新的JavaScript引擎,支持HTML5和硬件加速的图形与文本。Internet Explorer 9是首个利用了现代硬件的浏览器,这极大地提升了整个浏览器的图形渲染速度与性能,它具有如下几个之最:首次提供了硬件加速的可缩放矢量图形(SVG);首度借助于从CPU向GPU迁移所带来的好处来增强JavaScript引擎的性能;首度通过GPU来增强HTML5。

值得注意的是,早在此之前就已经有Beta/非官方版本的浏览器曾支持过GPU加速

SVG支持

可缩放矢量图形(SVG)格式正成为IE9上的一等公民。SVG将成为微软新的战略选择,微软也将通过其支持下一代Web应用中的矢量图形:

我们期望有众多用户和开发者支持的SVG能成为Web不可或缺的一部分。相对于光栅图片来说,SVG具有很多优势。借助于硬件加速图形,我们完全可以迈进交互式、图形驱动的Web世界了。

就不同厂商实现之间的互操作性这个问题,微软表示将与SVG工作组协作以保证其实现能与其他厂商的实现互操作

虽然SVG规范的首个版本早在几年前就已经处在“推荐”状态,但规范本身依然存在一些未解决的问题。这导致目前各大主流浏览器中的SVG实现在范围和行为上差异较大。我们的目标定位在互操作性上,借此简化开发者的工作。对于我们所实现的那部分规范来说,我们会严格遵守规范的要求。有时,我们的决定会受到其他浏览器的行为和SVG的未来发展方向所影响。

借助于现在发布的预览版,开发者可以将SVG插入到HTML中并创建可缩放的图形:

<!DOCTYPE html>
<p style="font-family:Georgia;font-size:9pt;">You can insert vector images using inline HTML...
<BR>
<svg width="200" height="100">

    <circle cx="50" cy="50" r="45" fill-opacity=".5" fill="red"/>

    <circle cx="100" cy="50" r="45" fill-opacity=".5" fill="yellow"/>

    <circle cx="75" cy="100" r="45" fill-opacity=".5" fill="blue"/>

    <text x="40" y="70" fill="white">Colors!!</text>
</svg>
</p>

目前IE9支持如下SVG特性

  • 基本形状:矩形、圆、椭圆、直线、折线以及多边形
  • 坐标系统、变换以及单元
  • 文档结构、元数据以及可扩展功能
  • 路径,包括path元素的所有功能和d属性

HTML5

IE9实现了HTML 5规范的部分特性,微软表示随着规范的日趋完善,实现的特性也会越来越多:

微软早在Internet Explorer 8中就已经开始支持HTML5规范草案的部分特性了。这包括DOM存储跨文档消息Ajax导航(借助于window.location.hash值)以及在线离线的事件处理器。Internet Explorer平台预览版通过支持HTML5的一些API以及修改了解析HTML的方式来强化这一点。

CSS

相较于兼容CSS2.1规范的IE8来说,IE9预览版改进了对CSS的支持,它增加了对CSS3中众多组件的支持,其余组件仍在计划当中。

目前,IE9所支持的CSS3新特性有:

  • 借助于border-radius属性实现的圆角矩形
  • RGBA色彩模型
  • opacity属性
  • CSS3选择器

遗失的重要特性

值得注意的是,IE9尚未实现HTML5中的部分特性,而Firefox和Chrome已实现的某些特性也不在IE9中,比如说:

  • Canvas元素
  • Web Workers
  • Open web font支持
  • Ogg Theora for video(目前只支持H.264 video codec)

发布声明明确表示IE9不支持Windows XP,用户需要安装Windows Vista或Windows 7。

查看英文原文:Internet Explorer 9 Preview: New Features and Analysis

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

n/a by Wei Fisher

希望ie9能让我重新 pin this program to taskbar

有人用过IE9了吗? by Ma Karl

RT

Re: 有人用过IE9了吗? by 邓 国齐

试了一下,性能是提高了很多

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

3 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT