Shi*_*iva 2 c c++ iphone opengl-es
切换纹理时,为什么速度慢?
代码 - 1
glBindTexture(GL_TEXTURE_2D,texId01);
glDrawArray(glDrawArrays(GL_TRIANGLES,0,4);
glBindTexture(GL_TEXTURE_2D,texId02);
glDrawArray(glDrawArrays(GL_TRIANGLES,0,4);
代码 - 2
glBindTexture(GL_TEXTURE_2D,texId01);
glDrawArray(GL_TRIANGLES,0,4);
glDrawArray(GL_TRIANGLES,0,4);
为什么这些速度不同?
对于PowerVR硬件上的OpenGLES,appraranty以及其他人来说,上述答案是错误的.我已经偶尔发现过这种"纹理绑定很慢"的神话,但是没有一个性能文档(Apple或Imagination Technologies)提到这一点.
所以我直接用Imagination Technologies检查了这个,他们的答案是:
除了我们在文档中提到的内容之外,使用glBindTexture不会对性能产生任何影响,但是开销很小但不是很大.有些信息似乎提到纹理切换时使用glTexture2D重新加载纹理,这是一个缓慢的调用,应该只在首次初始化应用程序时完成
| 归档时间: |
|
| 查看次数: |
657 次 |
| 最近记录: |