IVertexBufferObject (c) Zynga 2011 


HighPerformanceVertexBufferObject Compared to a LowMemoryVertexBufferObject, the HighPerformanceVertexBufferObject uses 2x the heap memory, at the benefit of significantly faster data buffering (up to 5x faster!). 
LowMemoryVertexBufferObject Compared to a HighPerformanceVertexBufferObject, the LowMemoryVertexBufferObject uses 50% less heap memory, at the cost of significantly slower data buffering (up to 5x slower!). 
SharedMemoryVertexBufferObject Compared to ZeroMemoryVertexBufferObject, all SharedMemoryVertexBufferObjects share a single ByteBuffer which is used by whichever SharedMemoryVertexBufferObject instance is currently buffering data, at the cost of expensive data buffering (up to 5x slower!) and a little synchronization overhead. 
VertexBufferObject TODO Extract a common base class from VertexBufferObject and ZeroMemoryVertexBufferObject (due to significant code duplication). 
VertexBufferObjectManager (c) 2010 Nicolas Gramlich (c) 2011 Zynga Inc. 
ZeroMemoryVertexBufferObject Compared to a HighPerformanceVertexBufferObject or a LowMemoryVertexBufferObject, the ZeroMemoryVertexBufferObject uses no permanent heap memory, at the cost of expensive data buffering (up to 5x slower!) whenever the bufferdata needs to be updated and higher GC activity, due to the temporary ByteBuffer allocations.