vertex arrays and performance

i am woundering is it possible to use vertex arrays for major drawing in my game engine? will the changing of arrays constantly have a performance penalty or wil there be the same or optimization?

Quake 3 uses vertex arrays for all rendering, so yes, it’s definitely possible :wink:

You should aim for using VBO. But it can’t hurt to first get familiar with the vertex array mechanisms, because
a)VBO is layered on top of that
b)you might want a fallback for ancient drivers

Originally posted by <darkq>:
i am woundering is it possible to use vertex arrays for major drawing in my game engine?
It is by sure means even if using them effectively can be a little tricky.

Originally posted by <darkq>:
will the changing of arrays constantly have a performance penalty or wil there be the same or optimization?
Possibly but the speedup will greatly compensate this loss. Even if it won’t (not CPU or bandwidth limited) you shouldn’t be able to see the difference. I have measured no significant decrease in performance on my systems.
When CPU limited, even standard vertex arrays buys me twice the frame rate. I don’t really care if I could get from 12 to 26 fps instead of 12 to 30. This kind of optimization can be really costly (in terms of development time) and I have strong proofs many commercial programs does not use this optimization at all.
When bandwidth limited, display lists and VBOs are the only way to go. For static geometry they have similar performances. For dynamic geometry VBO is much better.
Changing arrays have a much higher penalty on VBO for some reason I don’t fully understand. I would like to discuss this to somebody since it looks related to the topic.