So! I decided to try to optimize the drawing code a bit by implementing VBOs (Vertex Buffer Objects) to the BGE.
So what are VBOs? The old method of rendering is to pass the data to the GPU on every frame and the GPU does its thing and brings stuff to the screen. Now VBOs attemp to overcome the concept of passing data to the GPU and instead, STORE data INTO the GPU for fast data access.
This should make things render faster.
However I’m having some mixed results with my comp (sometimes faster, sometimes slower, sometimes neither…) so I need a bit of help with testing. So if anyone has the time to test my build. I would be very grateful ;). If possible, do some bench marking with different scenes (scenes with over 200K triangles are optimal for testing) and post your hardware specs and benchmark results into this thread. Also please do not enable the display lists since they override the VBOs.
NOTE: VBOs work only on hardware that supports them. (OpenGL 2.0 support I think…)
Also please post any BUGS!
APRICOT BRANCH WITH VBO PATCH DOWNLOAD FOR WINDOWS 32 BIT:
APRICOT BRANCH WITH VBO PATCH DOWNLOAD FOR LINUX 32 BIT (thanks to squareline):
APRICOT BRANCH WITH VBO PATCH DOWNLOAD FOR LINUX 64 BIT:
Here is a little test scene:
Here is the patch for compilers: