AnalogOnScreenControl |
(c) 2010 Nicolas Gramlich
(c) 2011 Zynga Inc. |
AnimatedSprite |
(c) 2010 Nicolas Gramlich
(c) 2011 Zynga Inc. |
AnimatedSpriteMenuItem |
(c) 2010 Nicolas Gramlich
(c) 2011 Zynga Inc. |
BaseMenuItemDecorator |
I HATE THIS CLASS!
(c) 2010 Nicolas Gramlich
(c) 2011 Zynga Inc. |
BaseOnScreenControl |
(c) 2010 Nicolas Gramlich
(c) 2011 Zynga Inc. |
ButtonSprite |
Note: ButtonSprite needs to be registered as a Scene.ITouchArea to the Scene via registerTouchArea(ITouchArea) , otherwise it won't be clickable. |
CameraScene |
(c) 2010 Nicolas Gramlich
(c) 2011 Zynga Inc. |
ColorMenuItemDecorator |
(c) 2010 Nicolas Gramlich
(c) 2011 Zynga Inc. |
DiamondSprite |
Unlike Sprite , the DiamondSprite class doesn't render the rectangular outline of a ITextureRegion , but cuts out a diamond. |
DiamondSprite.HighPerformanceDiamondSpriteVertexBufferObject |
|
DiamondSprite.IDiamondSpriteVertexBufferObject |
|
DiamondSprite.LowMemoryDiamondSpriteVertexBufferObject |
|
DigitalOnScreenControl |
(c) 2010 Nicolas Gramlich
(c) 2011 Zynga Inc. |
DynamicSpriteBatch |
(c) Zynga 2011 |
Entity |
(c) 2010 Nicolas Gramlich
(c) 2011 Zynga Inc. |
HUD |
While you can add a HUD to Scene , you should not do so. |
HighPerformanceVertexBufferObject |
Compared to a LowMemoryVertexBufferObject , the HighPerformanceVertexBufferObject uses 2x the heap memory,
at the benefit of significantly faster data buffering (up to 5x faster!). |
IAreaShape |
(c) Zynga 2011 |
IEntity |
(c) 2010 Nicolas Gramlich
(c) 2011 Zynga Inc. |
IMenuItem |
(c) 2010 Nicolas Gramlich
(c) 2011 Zynga Inc. |
IShape |
(c) 2010 Nicolas Gramlich
(c) 2011 Zynga Inc. |
IVertexBufferObject |
(c) Zynga 2011 |
Line |
(c) 2010 Nicolas Gramlich
(c) 2011 Zynga Inc. |
Line.HighPerformanceLineVertexBufferObject |
|
Line.ILineVertexBufferObject |
|
Line.LowMemoryLineVertexBufferObject |
|
LowMemoryVertexBufferObject |
Compared to a HighPerformanceVertexBufferObject , the LowMemoryVertexBufferObject uses 50% less heap memory,
at the cost of significantly slower data buffering (up to 5x slower!). |
MenuScene |
(c) 2010 Nicolas Gramlich
(c) 2011 Zynga Inc. |
Mesh |
(c) Zynga 2012 |
Mesh.HighPerformanceMeshVertexBufferObject |
|
Mesh.IMeshVertexBufferObject |
|
ParticleSystem<T extends Entity> |
TODO Check if SpriteBatch can be used here to improve performance. |
Rectangle |
(c) 2010 Nicolas Gramlich
(c) 2011 Zynga Inc. |
Rectangle.HighPerformanceRectangleVertexBufferObject |
|
Rectangle.IRectangleVertexBufferObject |
|
Rectangle.LowMemoryRectangleVertexBufferObject |
|
RectangularShape |
(c) 2010 Nicolas Gramlich
(c) 2011 Zynga Inc. |
ScaleMenuItemDecorator |
(c) 2010 Nicolas Gramlich
(c) 2011 Zynga Inc. |
Scene |
(c) 2010 Nicolas Gramlich
(c) 2011 Zynga Inc. |
ScreenCapture |
(c) 2010 Nicolas Gramlich
(c) 2011 Zynga Inc. |
ScreenGrabber |
(c) 2010 Nicolas Gramlich
(c) 2011 Zynga Inc. |
Shape |
(c) 2010 Nicolas Gramlich
(c) 2011 Zynga Inc. |
SharedMemoryVertexBufferObject |
Compared to ZeroMemoryVertexBufferObject , all SharedMemoryVertexBufferObject s 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. |
Sprite |
(c) 2010 Nicolas Gramlich
(c) 2011 Zynga Inc. |
Sprite.HighPerformanceSpriteVertexBufferObject |
|
Sprite.ISpriteVertexBufferObject |
|
Sprite.LowMemorySpriteVertexBufferObject |
|
SpriteBatch |
TODO TRY DEGENERATE TRIANGLES!
TODO Check if there is this multiple-of-X-byte(?) alignment optimization?
(c) 2010 Nicolas Gramlich
(c) 2011 Zynga Inc. |
SpriteBatch.HighPerformanceSpriteBatchVertexBufferObject |
|
SpriteBatch.ISpriteBatchVertexBufferObject |
|
SpriteBatch.LowMemorySpriteBatchVertexBufferObject |
|
SpriteGroup |
(c) 2010 Nicolas Gramlich
(c) 2011 Zynga Inc. |
SpriteMenuItem |
(c) 2010 Nicolas Gramlich
(c) 2011 Zynga Inc. |
SpriteParticleSystem |
(c) Zynga 2011 |
Text |
TODO Try Degenerate Triangles?
(c) 2010 Nicolas Gramlich
(c) 2011 Zynga Inc. |
Text.HighPerformanceTextVertexBufferObject |
|
Text.ITextVertexBufferObject |
|
Text.LowMemoryTextVertexBufferObject |
|
TextMenuItem |
(c) 2010 Nicolas Gramlich
(c) 2011 Zynga Inc. |
TickerText |
(c) 2010 Nicolas Gramlich
(c) 2011 Zynga Inc. |
TiledSprite |
(c) 2010 Nicolas Gramlich
(c) 2011 Zynga Inc. |
TiledSprite.HighPerformanceTiledSpriteVertexBufferObject |
|
TiledSprite.ITiledSpriteVertexBufferObject |
|
TiledSprite.LowMemoryTiledSpriteVertexBufferObject |
|
UncoloredSprite |
(c) 2010 Nicolas Gramlich
(c) 2011 Zynga Inc. |
UncoloredSprite.HighPerformanceUncoloredSpriteVertexBufferObject |
|
UncoloredSprite.IUncoloredSpriteVertexBufferObject |
|
UncoloredSprite.LowMemoryUncoloredSpriteVertexBufferObject |
|
UniformColorSprite |
(c) 2010 Nicolas Gramlich
(c) 2011 Zynga Inc. |
UniformColorSprite.HighPerformanceUniformColorSpriteVertexBufferObject |
|
UniformColorSprite.IUniformColorSpriteVertexBufferObject |
|
UniformColorSprite.LowMemoryUniformColorSpriteVertexBufferObject |
|
VertexBufferObject |
TODO Extract a common base class from VertexBufferObject and ZeroMemoryVertexBufferObject (due to significant code duplication). |
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. |