【发布时间】:2011-02-01 02:36:58
【问题描述】:
我一直在思考这个问题,如果我切换巨大的纹理,而不是使用 glBindTexture() 切换许多稍微小一点的纹理,它是否会使渲染变慢?我的想法是每次使用 glBindTexture() 时,GPU 都会将纹理数据复制到更快的内存位置,所以我认为复制大纹理也需要更长的时间。
但是,我记得以前使用过很多小纹理来创建动画,并且在某些 gfx 卡上速度非常慢,但是当我将动画帧放在单个纹理上时,性能就非常高了。尽管如此,在这两种情况下,我在其他一些 gfx 卡上都没有性能问题。
也就是说,我应该始终使用尽可能大的纹理表面尺寸吗? (如果我不浪费太多空白纹理空间的话。)
【问题讨论】: