threerings/playn — pull request #27 by Loffe (2013-08-04 10:08:10+00:00)
Title: Performance improvement: Batch writes to the GL buffer

Batch writes to the FloatBuffer to increase performance, especially on android/Ouya platforms.

QuadCore.addQuad() writes to a float array, and later the whole array is put into to GL buffer in one call.

I've done some benchmarking using the playn-perf application running on the Ouya and the following test case:
2 images, no layers, not sorted, 1800 bodies

**Before patch:** 22 FPS
CPU time: QuadCore.addQuad 56%, QuadCore.flush 5%

**After patch:** 35 FPS
CPU time: QuadCore.addQuad 5%, QuadCore.flush 25%