简述 Linux 平台上浏览器的 GPU 加速 (original) (raw)

随着 HTML5 和 WebGL 逐步明朗化,浏览器开始寻求使用 GPU 加速的方式改善互联网体验。那么它在 Linux 平台的情况究竟是什么呢?

和其他桌面程序的显卡加速一样,浏览器可以调用 GPU 实现的加速分为 2D 和 3D 两种

3D 加速

目前最常听到的是 3D 加速,也就是显卡对于 WebGL 的支持。WebGL 是 OpenGL ES 的一个子集,用于定义网页中的 3D 应用。

在 Linux 平台下,Firefox 8 对于 GPU 显卡 WebGL 加速的需求情况如下:

Google Chrome 15 对于 GPU 显卡 WebGL 加速的需求情况如下:

WebGL 标准型兼容测试

精彩 WebGL 应用:Lights

2D 加速

相比较与 WebGL,2D 加速的应用范围就广阔许多,已知的就有:

理论上讲,所有元素都可以从 GPU 2D 加速中获益。

然而遗憾的是,目前 Linux 平台上没有一款浏览器实现了 GPU 2D 加速,原因是缺乏类似 Direct2D 一样的 API 以及目前驱动中普遍糟糕的texture_from_pixmap 实现。

于是说目前 Linux 平台上的 2D 加速均是由软件后端的方式实现的,根据测试结果来看目前 Chrome 的 Skia2 渲染后端比 Firefox 的 Azure(Cario) 后端效率要高。

花屏警告:若是想强行尝试 2D 加速的话:

另一方面,Opera 12 据说采取的 GPU 加速方式很特别,将有可能会是首个在 Linux 平台实现 2D 加速的浏览器,十分值得期待。

2D 加速测试

精彩 2D Canvas 应用:Particle Acceleration

# Tagged as chrome, firefox, gpu, opera, webgl · Edit on GitHub

Read More: