Android OpenGLBindTexture()调用

Android OpenGLBindTexture()调用,android,opengl-es,Android,Opengl Es,我的游戏已经包含一个1024x1024大小的图集,因为我知道这是纹理的最大大小。问题是我还需要1-2个这样的1024x1024纹理。这会给我3个glBindTexture()调用,我知道这是一个巨大的性能阻力。我还没有测试它,因为我目前有其他问题,但这会减缓我的应用程序相当大的一部分?还有其他解决方案吗?如果您担心任何性能损失,我建议您分析您的应用程序,以便真正了解应用程序的瓶颈所在,然后在出现问题时再回来 三个大图集纹理仍然比你反复绑定的许多小纹理要好。目前我的游戏大约有6个512x512纹理

我的游戏已经包含一个1024x1024大小的图集,因为我知道这是纹理的最大大小。问题是我还需要1-2个这样的1024x1024纹理。这会给我3个glBindTexture()调用,我知道这是一个巨大的性能阻力。我还没有测试它,因为我目前有其他问题,但这会减缓我的应用程序相当大的一部分?还有其他解决方案吗?

如果您担心任何性能损失,我建议您分析您的应用程序,以便真正了解应用程序的瓶颈所在,然后在出现问题时再回来


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

目前我的游戏大约有6个512x512纹理图集,到目前为止,我仍然不需要任何手机上的任何加载屏幕。虽然如果要进行大量绑定,您可能需要考虑创建一个批处理程序类,将所有顶点一次提交到GPU,但它将大大加快应用程序的速度

我不认为三个
glBindTexture
会对性能造成巨大的拖累。至少不在你应该担心的范围内。我目前确实使用了一个批处理程序,在那里我绘制(添加)所有顶点,然后最后调用glDrawArray/Elements。到目前为止,这对性能的影响最大,因为我不需要太多的抽签调用。它不应该影响您的性能,即使是少量抽签调用,也可能会有轻微影响,但过一段时间后,最好有一个抽签调用