When I render any object I get a frame rate of about 823 fps. When I put lighting on the frame rate drops by half to around 420 when i put textures and lights on the frame rate drops another 25% to 318. I have binded 3 vertex buffer objects like this
glBindBufferARB( GL_ARRAY_BUFFER_ARB, VBOVertices );
glVertexPointer( 3, GL_FLOAT, 0, (char *) NULL );
glBindBufferARB( GL_ARRAY_BUFFER_ARB, VBOTexels );
glTexCoordPointer( 2, GL_FLOAT, 0, (char *) NULL );
glBindBufferARB( GL_ARRAY_BUFFER_ARB, VBONormals );
glNormalPointer( GL_FLOAT, 0, (char *) NULL );
My question is that is there a way to not see such a performance drop when lights and textures are on? Is this normal or is the fame rate low because I am using 3 vbos.
Are you sure it’s because of the VBO’s?
It could also be lighting bound and/or raster bound (fillrate).
Does is behave the same with standard vertex arrays?
What’s your hardware?
Window size? Does texturing get a lot faster when you decrease the window size?
Number of lights?
Number of vertices?
Originally posted by Relic:
[b]Are you sure it’s because of the VBO’s?
It could also be lighting bound and/or raster bound (fillrate).
Does is behave the same with standard vertex arrays?
What’s your hardware?
Window size? Does texturing get a lot faster when you decrease the window size?
Number of lights?
Number of vertices?
I would suggest significantly increasing the polygon count, or number of objects. Then checking you achieved triangles per second against hypothetical maximum. Small objects fps seem to fluctuate wildly.
For example, a geforce II is rated for 26 million, but depending on whether your vertices are being cached, lights on or off, specular lighting, material attributes, it will be significantly less. For huge models + vbos I get around 6 Million(non tri strips) or 10 Million w/ tri strips + lighting of course.
Supposedly, for Geforce II and up, the first light should be “free” in terms of performance penalty.(Nvidia whitepaper) But depending on your model, and the way you feed vertices, I find this may or may not be true.