0

我有一台带有 Radeon IGP 340m 显卡的旧机器。根据制造规范,它只支持 OpenGL 1.3,不支持片段着色器,但是当我在这里运行一些 WebGL 应用程序时:http: //glsl.heroku.com/(需要片段着色器版本 120+)它运行成功但稍慢。我不明白谷歌浏览器如何做到这一点?它是在软件中编译和运行着色器吗?

4

1 回答 1

2

原因是 Chrome 中的 WebGL 和 Windows 上的 Firefox 不使用 OpenGL,而是使用 DirectX 进行渲染。

它们都使用将 OpenGL ES 2.0 API 调用转换为 DirectX 9 API 调用的 ANGLE 库(几乎是原生图形层引擎)。

在此处查看更多信息: http ://code.google.com/p/angleproject/

如果 DirectX 9 不可用,Windows 上的 Chrome 使用名为 SwiftShader ( http://transgaming.com/swiftshader ) 的软件渲染器。

在此处查看更多信息:http: //blog.chromium.org/2012/02/gpu-accelerating-2d-canvas-and-enabling.html

于 2012-06-15T09:25:57.193 回答