尽可能在 WebGL 中使用中等精度

Ilmari Heikkinen

Opera 的朋友一直在实际的 OpenGL ES 2.0 硬件上测试 WebGL,他们提醒我们:许多演示和应用在没有必要的情况下使用高精度片段着色器。

Fragment 着色器中的 Highp 是 OpenGL ES 2.0 规范的可选部分,因此并非所有硬件都支持它(即使支持,性能也可能会受到影响。通常,使用 mediump 就足够了,这样可以确保您的应用在移动设备上也能正常运行。

在实践中,如果您的片段着色器之前以以下代码开头

precision highp float;

将其更改为以下代码应该可以解决问题:

precision mediump float; // or lowp