VBO slowdown?
Hi all,
I''ve just finished writing a shadow volume test program. It contains a highly tesselated sphere and a highly tesselated torus. In total I render approx. 38,000 polys per frame. Initally my sphere and torus were procedurally generated each frame and drawn in immediate mode using GL_TRIANGLES and GL_TRIANGLE_STRIP. When I''d gotten the shadows working I changed the sphere and torus to use vertex arrays, and to be calculated only once, at the beginning of the program. This increased my framerate from about 12 fps to about 54 fps.
Next I decided to try using VBO. I expected a small speed increase, but instead my framerate plummeted to about 33 fps.
I don''t have the code available right now, but I''m 99% sure I''m not doing anything wrong with the VBO setup - my code is basically identical to the first example given at the bottom on the VBO spec.
I''m running this on a Geforce 256, with the latest ForceWare drivers. I''m wondering whether Nvidia are layering VBO on top of VAR, so the BindBuffer call''s are expensive (I do a lot of rebinding per frame), but won''t have a chance to test this for a while. Another possibility is that the drivers are messed up - I know there''s one problem with them because I can''t get to the Geforce 256 tab on my display properties (Windows XP).
Has anyone had any experience with VBO on lowish end Nvidia cards? Can anyone tell me why I''m losing performance with them?
Thanks,
Enigma
This is second hand information, but I''ve read a few posts about problems with nvidia drivers and VBO''s. Not just lowend cards, sorry i dont have any good information to help.
I got that problem too, even with the NeHe example on VBO's, I haven't found any reasonable explanations yet, but i am still looking.. (i got a Geforce 4 Ti4200 128MB and when I switch to VBO's my framerate drops from 30 to about 14 fps)
[edited by - Living Monstrosity on December 1, 2003 9:11:06 PM]
[edited by - Living Monstrosity on December 1, 2003 9:11:06 PM]
- growl -
your problem may lay in using glVertexArray function wich does a lot of setup in VBO, so to avoid redundancy, avoid calling it.
Contratry to what you may think , the binding of buffers is cheap compared to setup of various pointers.
anyway I had some problems with VBOs too, glMapBuffer crashes my app but I think it must be me because it seems nobody else experienced something similar.
Contratry to what you may think , the binding of buffers is cheap compared to setup of various pointers.
anyway I had some problems with VBOs too, glMapBuffer crashes my app but I think it must be me because it seems nobody else experienced something similar.
---sorry for not using proper english , I'm from latin roots
glVertexArray()? Never heard of it, what does it do? It isn''t part of OpenGL 1.1 right?
I think glVertexArray() is used as a placeholder to represent any of the gl<target>Pointer() calls. Unfortunately I don''t have the option of simply not calling these functions since my data resides in multiple buffers.
Enigma
Enigma
what would be better Vertex Array''s or VBO''s if you don''t mind me asking.. is there benifets of using either type depending on the applications requirments ??
Cheers
Chris
Jumpman - Under Construction
Cheers
Chris
Jumpman - Under Construction
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement