VBO confusion (please test!)

Started by
21 comments, last by ff8 17 years, 11 months ago
For your newest version, I get 60 FPS across the board.

AMD 3200+ @2.2GHz
256MB Geforce 6800 GT (PCIe)
1GB RAM
Advertisement
Results form my PC (WinXP, A64 @ 2500MHz, 6600gt, 1GB RAM)

1 - VA 950 fps
2 -VBO 2100fps
3 - IM 450 fps

That seems really odd that VBOs are that much faster...


Quote:Original post by JamesKilton
For your newest version, I get 60 FPS across the board.


I had to force vsync off in the drivers.
Sean Henley [C++ Tutor]Rensselaer Polytechnic Institute
A64 3500+, 6800GT@FW 84.20

Vertex Arrays: 930
Immediate: 470
VBOs: 2720 ;o)
Quote:Original post by Expandable
A64 3500+, 6800GT@FW 84.20

Vertex Arrays: 930
Immediate: 470
VBOs: 2720 ;o)

Woohoo! The people who posted near the top were spot on - with a more complex model, nVidia's VBO implementation really rocks! Thanks also to Sr Guapo and James Kilton.

Plus I guess something good comes off everything - I'll keep this app as a VBO vs the rest benchmark (not that it's definitive but still ...)

Now I just have to figure out what on earth is wrong with my card ...
By the way, glDrawRangeElements should be faster... at least it was the last time I experimented with VBOs.
I tried replacing DrawElements with DrawRangeElements and at least on monkey2.obj on my system there was no performance difference whatsoever.
Olli Salli
Really? Well, maybe it was a driver bug then. glDrawRangeElements was twice as fast for me as glDrawElements.
@Expandable: You've also read the nVidia "Using VBOs" paper haven't you? [wink] The reason I didn't use DrawRangeElements there is that you need to load its proc address for Windows, but not for Linux. I was getting some weird crashes because of that (before I decided to use GLee) so I dropped it out.

Quote:Original post by oggialli
I tried replacing DrawElements with DrawRangeElements and at least on monkey2.obj on my system there was no performance difference whatsoever.

Same for me for the VBOs ... did you use [0, tmp->vert_count-1] as the range (since all vertices are drawn)? DrawRangeElements somehow killed the regular Vertex arrays though, I don't know what's going on there. Performance drops by half (frames per second wise, not frame-rate wise).

There are other ways to improve performance, such as NvTriStrip. Using an optimized triangle strip as generated by it improved fps ~50% for me.


IM: ~440fps
VAR:~785fps
VBO:~3150fps
DL: ~3200fps

nothing unusual :) (using the default window size)

Athlon 3200 / Quadro fx 4000 / Linux Kernel 2.6.11 / nv 87xx driver
Quote:Original post by deavik
Same for me for the VBOs ... did you use [0, tmp->vert_count-1] as the range (since all vertices are drawn)?


Yes, I did. I think that is exactly why the performance doesn't improve - we are drawing the whole of the VBO anyway. Now if we had many small batches in one large VBO, it would make a difference with proper drivers.
Olli Salli

This topic is closed to new replies.

Advertisement