OpenGL纹理的宽高比是否会影响性能?

3
如果我想要一个包含100个10x10像素精灵的精灵图,把它们都放在一行中制作一个1000x10像素的纹理是否可行?或者说,GPU对于不那么窄的纹理处理得更好吗?这是否会对性能产生任何影响?

1
我认为不需要,但你可以编写一个小测试程序来测试性能。 - Unick
1个回答

1
现代图形设备很容易支持,但旧设备对于非二次幂纹理存在问题。
如果想要支持旧设备,应该使用高度和宽度都是二次幂的纹理尺寸,即使这意味着浪费一些像素。
我认为我在某处读到过,即使是现代图形设备也会更好地处理二次幂纹理。但我无法提供任何支持此说法的参考资料。
纹理不必是正方形才能被GPU良好处理。只需注意不要超过GPU支持的最大高度和宽度即可。但如果高度和宽度都保持在4096个像素以下,就相当安全了。

1
你所说的“older”指的是非常老旧的(可能超过10年)。 - Robinson
是的。我所说的“老旧”是指...古老的。但非二次幂纹理可能会产生奇怪的副作用:https://www.opengl.org/wiki/NPOT_Texture - Nitram

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接