I made a small test app for testing the speed difference with vbo and standart vertex arrays.
Application generates a grid which is made of 2500 vertexes and 15000 indexes.
GL State is:
ZWrites OFF
ZTest OFF
Culling ON with FRONT_AND_BACK
No SwaBuffers called
No Buffer Clear
So no drawing actually occurs,
Two buffers created at startup( 1 for Vertex data with STATIC_DRAW, 1 for Index data with STATIC_DRAW )
, binded, called BufferData with vertex data in system memory, arrays enabled( Vertex and Color ) and never touched again.
Vertex type is
float x,y,z
byte r,g,b,a
buffers are aligned on 64 bit boundaries
When drawing
just a plain glDrawRangeElements call is made
no Vertex Array pointer update or enable/disable is made
When using driver 43.51, the results are
Standart Arrays: 400 FPS
VBO : 3100 FPS
When using driver 53.03, the results are
Standart Arrays: 400 FPS
VBO : 400 FPS
What do you think about the 53.03 speed?
My system is:
MSI Neo2 Motherboard
Pentium 4 2.8c
1 GB RAM
Windows XP Professional
GeForce2 GTS
Test apps:
Standart: http://www.3tegames.com/gl_standart.exe
VBO: http://www.3tegames.com/gl_vbo.exe
Source: http://www.3tegames.com/vbo_src.rar
[This message has been edited by Cem UZUNLAR (edited 11-25-2003).]