我应该在 OpenGL 中使用具有最大限制的数组还是 ArrayList 进行顶点批处理?

Should I use Array with a Maximum limit or an ArrayList for Vertex Batching in OpenGL?

我正在尝试对游戏中的对象顶点进行批处理,并通过一次绘制调用绘制它们。但是,我不知道我会事先绘制多少这些对象,因此顶点的数量是未知的。

我应该使用大数组还是只使用列表?我在使用数组时获得了更好的性能,但大小可能超过我真正需要的大小,这可能会导致更高的内存使用量。

谢谢!

动态调整数组大小的一种可能方法是数组加倍

每次需要增加数组大小时,重新分配其当前大小的两倍。 从一个小值开始,例如16 = 2^4(或适合您的用例的)。

如果你现在有 513 = 2^9+11024 = 2^10 个顶点,数组增加操作最多被调用六次。