IE 和火狐将使用 DirectX 进行呈现

  • Abel Avram
  • 王波

2009 年 12 月 11 日

话题:.NET架构Chrome语言 & 开发

当谷歌还在考虑是否使用 DirectX 或 GPU 呈现页面的时候,IE 和 Mozilla 小组已经开始了相关的工作。

90 年代的前 Netscape 和 IE 小组成员 Christian Fortini,从去年开始已经使用 IE 在 GPU 而不是 CPU 上呈现文本和图像。初步结果表明,由于在缩放和重新排列时可以控制子象素的缘故,字体显得更加美观。

以下两幅图片显示了GDI 和 D2D 字体呈现的区别

不仅仅是字体受到影响,连图像的绘制上也有所改进。最明显的结果就是图像在位移、边缘、曲线和阴影等方面的柔化。使用 DirectX 后,图像的比例也有所受益。调整图像的比例、缩放和平移更加快速和平滑,由于帧速率最高可达每秒 40 至 50 帧,如果使用 GDI 的话帧速率最高仅达每秒 4 至 5 帧。使用 DirectX 呈现页面也即将成为现实,该小组正致力于实现这项功能。

遇到的其中一个困难在于一些页面组件,比如:Flash 或 Silverlight,进行自身呈现,故需要某些额外的度量值来显示两种呈现引擎展示的页面。在不用修改任何代码的情况之下,ActiveX 控件会被引导来使用 D2D 而非 GDI。这些修改将会集成到 2011 年发布的 IE9 当中。Channel 9 发布了一份带 Fortini 的简短视频来说明这些功能

有趣的是,根据 Mozilla 的开发者关系总监 Christopher Blizzard 的说法,Mozilla 正为火狐添加相同的功能,使用 Direct2D 和 DirectWrite 进行呈现。他提到:“有趣的是,我们也正在给火狐添加 Direct2D 支持。我打赌我们会是第一个完成的。 :)”。他们也在 Tegra 设备上添加 OpenGL 的支持功能。

在去年正式发布使用 GPU 进行 3D 呈现的浏览器插件O3D API之后,根据 Chromium 上提出的“问题28539:研究 Direct2D 支持的可行性”和“问题25541:研究 DirectWrite 支持的可行性”我们得知,谷歌正在 Chrome 中研究是否使用 DirectX 进行呈现。问题在于“它仅适用于 COM 而不适合我们当前使用的沙盒呈现程序”。

查看英文原文:IE and Firefox Will Be Using DirectX for Rendering

.NET架构Chrome语言 & 开发