【发布时间】:2011-07-10 06:20:11
【问题描述】:
通常认为使用包含许多较小纹理(想想字体表)的大纹理“图像”比将每个纹理分开要快。性能提升有多大?它会明显更快还是会有微小的改进?
【问题讨论】:
标签: opengl-es performance textures
通常认为使用包含许多较小纹理(想想字体表)的大纹理“图像”比将每个纹理分开要快。性能提升有多大?它会明显更快还是会有微小的改进?
【问题讨论】:
标签: opengl-es performance textures
它会明显更快还是会有一点小改进?
这取决于您使用的纹理数量。如果纹理很少,则可以使用单独的纹理。如果您正在制作一个包含大量纹理(真的很多)的大世界,那么 atlas 纹理是一个合适的解决方案。
这都是因为 OpenGL 是一个状态机,状态机的每一次更改都会产生成本。进行多次glBindTexture() 调用的成本很高,因此只需将其与您拥有的纹理数量进行比较即可。
【讨论】: