2011-07-31 51 views
0

我知道这是纹理的最大尺寸,我的游戏已经包含了一个尺寸为1024x1024的图集。问题是我需要大约1-2个这些1024x1024纹理。这应该给我3 glBindTexture()调用,我知道是巨大的性能拖动。我还没有测试过,因为我目前有其他问题,但是这会让我的应用程序减慢很多吗?还有其他解决方案吗?Android opengles glBindTexture()调用

+0

我不认为三'glBindTexture'将是一个巨大的性能拖动。至少不在你应该担心的范围内。 –

回答

1

如果您担心任何性能损失,我建议您对应用程序进行配置,以便您真正了解应用程序的瓶颈位置,然后如果结果非常糟糕,则可以返回。

三个大的地图集纹理仍然比你重复绑定的许多小纹理更好。

1

目前我的游戏有大约6个512x512纹理地图集,至今我仍不需要任何手机上的任何加载屏幕。虽然如果你要做大量的绑定,你可能想要考虑制作一个Batcher类,它将把所有的顶点提交给GPU,这会大大加快你的应用程序的速度

+0

我目前使用的是一个batcher,我绘制(添加)所有顶点,然后对glDrawArray/Elements进行最终调用。迄今为止,这对性能影响最大,因为我不需要太多的平局。 – semajhan

+0

它不应该影响你的表现,即使是少量的平局呼叫,它可能会稍微有些但随着时间的推移有一个很好 – Chris