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

阅读数:2761 2010 年 4 月 27 日 00:12

近日,微软发布了 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

收藏

评论

微博

用户头像
发表评论

注册/登录 InfoQ 发表评论