我正在优化着色器代码以渲染大型三角形条带。有人建议我尽可能使用低精度数据类型作为我的顶点属性,所以我开始尝试。我将一些组件从highp减少到lowp,但没有得到任何严重的性能改进。所以我使用glGetShaderPrecisionFormat来获取格式的范围和精度,但是我收到了相同的highp,mediump和lowp值,这意味着例如
int rangehigh[2], precisionhigh;
glGetShaderPrecisionFormat(GL_VERTEX_SHADER, GL_HIGH_FLOAT, rangehigh, &precisionhigh);
int rangemedium[2], precisionmedium;
glGetShaderPrecisionFormat(GL_VERTEX_SHADER, GL_MEDIUM_FLOAT, rangemedium, &precisionmedium);
int rangelow[2], precisionlow;
glGetShaderPrecisionFormat(GL_VERTEX_SHADER, GL_LOW_FLOAT, rangelow, &precisionlow);
rangehigh / rangemedium / rangelow都具有相同的值以及precisionhigh,precisionmedium和precisionlow。
这是否意味着使用mediump或lowp代替highp将不会更快?
此致