Hi guys,
I'm new to this forum.. but I've been referring to a couple of the tutorials (great stuff). So.. recently I've started developing games for the android platform. Coming from a pretty decent OpenGL background, it wasn't difficult to get used to OpenGL ES (1.0/1.1 is very similar to standard OpenGL).
After reading a couple of articles and watching the videos from Google I/O (Real-Time Games) I learned that VBOs are fast and draw_texture is faster.. So to make sure this was true, I created a simple test program that attempted to render 1000 sprites unto the screen while randomly updating their positions every frame. I started the test with pre-transformed VBOs, matrix transformed VBOs (sharing the same 1 by 1 VBO and transformed with GL matrix functions) and lastly draw_texture (glDrawTexfOES).
I'm not sure if I was doing anything wrong but out of all the tests.. draw_texture performed to worst.. and surprisingly.. matrix transformed VBOs performed slightly better than pre-transformed VBOs.. o_O
I figured that bad frame rate from the VBO method was because I was drawing each image with 1 draw call as opposed to batching them, so I wrote a fourth case using a single VBO and glBufferSubData to update the positions. and true enough this was the fastest rendering method.
I'm working with a Nexus One and I'm not sure if these results are due to some issue with the Nexus One itself.
It'd be cool if someone could verify this... I've added the test program I created. Hopefully the reason why draw_texture is so slow is because of the way I'm using it.. :\


