To VBO or not to VBO ?
As I mentioned in the last post, a friend lend me an iPod 3G to test its hardware. I already compared CPU for its performance in filling the interleaved vertex array.
Now I’m going to have a look at the GPU, specifically the advantages of using Vertex Buffer Objects on the new PowerVR SGX chip.
On the old iPod 2G I own, I tested GPU performance in this post and also confirmed that there was no performance advantage for using VBO’s.
Now the Analysis of my Engine on the SGX: (First without using VBO’s)
Whats interesting to note here is the appearent drop of FPS after I cross 35k triangles. I must have hit some bottleneck at this size of the matrix.
Using Vertex Buffer Objects yields a huge performance increase, I am able to draw the same amount of triangles that used 15fps before at 30 fps!
So I doubled the fps for the appropriate map size!
Comparison of 2G vs 3G:
Now this performance increase obviously only happens, because my geometry array is static as long as the player doesn’t move a unit. But even this movement is just a discrete one-time update of the VBO and therefore doesn’t change user-feeling.