我想知道调用此API方法加载着色器程序是否昂贵?我正在考虑在我的3D场景中为每个对象调用此方法。
gl.useProgram(shaderProgram);
谢谢
glUseProgram
比使用 glAttachShader
+glLinkProgram
更好。glUseProgram
是最轻量级的。glUseProgram
是高效的。glUseProgram
不会成为瓶颈。因此,结论是:适度使用。如果你没有太多对象,那就好,如果有,可以尝试优化着色器切换,或者多次重复使用着色器,或者使用同一个利用分支的着色器。
useProgram
会有中等性能损耗。它不是超级轻量级的,也不像 linkProgram
和 compileShader
那么重。
希望这可以帮到你。