public abstract class

SharedMemoryVertexBufferObject

extends ZeroMemoryVertexBufferObject
java.lang.Object
   ↳ org.andengine.opengl.vbo.ZeroMemoryVertexBufferObject
     ↳ org.andengine.opengl.vbo.SharedMemoryVertexBufferObject

Class Overview

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.

Usually a SharedMemoryVertexBufferObject is preferred to a ZeroMemoryVertexBufferObject when the following conditions need to be met:

  1. Minimum amount of runtime GarbageCollector activity.

(c) Zynga 2011

Summary

[Expand]
Inherited Constants
From interface org.andengine.opengl.vbo.IVertexBufferObject
[Expand]
Inherited Fields
From class org.andengine.opengl.vbo.ZeroMemoryVertexBufferObject
Public Constructors
SharedMemoryVertexBufferObject(VertexBufferObjectManager pVertexBufferObjectManager, int pCapacity, VertexBufferObject.DrawType pDrawType, VertexBufferObjectAttributes pVertexBufferObjectAttributes)
Public Methods
void dispose()
static int getSharedByteBufferByteCapacity()
Protected Methods
ByteBuffer aquireByteBuffer()
When a non null ByteBuffer is returned by this function, it is guaranteed that releaseByteBuffer(ByteBuffer) is called.
void releaseByteBuffer(ByteBuffer byteBuffer)
[Expand]
Inherited Methods
From class org.andengine.opengl.vbo.ZeroMemoryVertexBufferObject
From class java.lang.Object
From interface org.andengine.opengl.vbo.IVertexBufferObject
From interface org.andengine.util.IDisposable

Public Constructors

public SharedMemoryVertexBufferObject (VertexBufferObjectManager pVertexBufferObjectManager, int pCapacity, VertexBufferObject.DrawType pDrawType, VertexBufferObjectAttributes pVertexBufferObjectAttributes)

Public Methods

public void dispose ()

public static int getSharedByteBufferByteCapacity ()

Protected Methods

protected ByteBuffer aquireByteBuffer ()

When a non null ByteBuffer is returned by this function, it is guaranteed that releaseByteBuffer(ByteBuffer) is called.

Returns

protected void releaseByteBuffer (ByteBuffer byteBuffer)