近日,微软发布了 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 使用率以及提高电源使用率。
今天,伴随着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
评论