写点什么

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

  • 2010-04-26
  • 本文字数:4459 字

    阅读完需:约 15 分钟

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

性能

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

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