No improvment with Vertex Buffers

Started by
8 comments, last by blizzard999 18 years, 7 months ago
I made a heightmap using vertex buffers (thanks a lot for a lot of you!) but I see no improvments in the FTP from my older Display list method. I am using triangle strips... Can it be because my graphic card is only a Riva TNT 2 ? maybe it cannot use the full power of the vertex buffers?
Advertisement
sorry
FPT = FPS...
Well, I can assure you that converting to Vertex Buffers will improve the use of bandwidth when sending data to the graphics chip and the rate at which the card is able to fetch that data, but...

If that's not where you're bottleneck is, then it's not surprising that you're not seeing an improvement in framerate. Considering the age of your card, I would be willing to hazard a guess that you may be highly fillrate bound, especially if you are using any sort of multipass/multitexture operations. Try this: Generate all the landscape data as usual (upload vertex data, set textures, etc.) but leave out the actual render call (in this case glDrawArrays or glDrawElements) If this gives you a sudden FPS hike, then you're almost certainly fillrate bound. The other scenario (though I feel like it's unlikely) is that you're CPU bound, in which case you'd have to optimize your game logic to see any improvement.

One final idea: It may be that your card, as old as it is, doesn't have the proper hardware support for vertex buffers and as a result is emulating them, storing the vertex data in system memory instead of video memory. (Which would actually make this a form of CPU bottleneck) If this is the case then it's unlikely that your system will show any benefits from the conversion, but anyone who's card supports the method will enjoy a speed boost.
// The user formerly known as Tojiro67445, formerly known as Toji [smile]
What were you using before? A static model I presume... Anyway, a static model should be about the same as a VertexBuffer, it might be a little slower to load but in rendering you wouldn't notice. Where you would notice a vertex buffer being better is if you had to change the terrain for LODing, morphing, destruction and/or swapping in new terrain chunks. The main feature being that you can lock portions of the vertex buffer and mark the locked area as discardable so that Directx( if thats what you are using ) will just suck in the new data without needing to do extra memory syncing.

Maybe post a demo or code so we can know more about your test scenario.

J
I just noticed that this is in the OpenGL section ;) I hope what I have said still applies.
Quote:I made a heightmap using vertex buffers (thanks a lot for a lot of you!) but I see no improvments in the FTP from my older Display list method.

u wont VBO + display lists are normally about the same speed BUT as Toji said the bottleneck is most likely elsewhere
Hi all and thanks,

I am using VBO for Heightmap, so its pretty stastic.

About the Fillrate bottleneck - impossible. I am drawing in LINES mode, and the FILLED mode is always faster on my system.

I switch between display list and VBO, and I see no difference -
8 FPS for 130,000 triangles (in line mode), and faster on filled mode (about 24 FPS).

If its not a fillrate problem, I reckon its probably the card, simulating VB's...

Hi all and thanks,

I am using VBO for Heightmap, so its pretty stastic.

About the Fillrate bottleneck - impossible. I am drawing in LINES mode, and the FILLED mode is always faster on my system.

I switch between display list and VBO, and I see no difference -
8 FPS for 130,000 triangles (in line mode), and faster on filled mode (about 24 FPS).

If its not a fillrate problem, I reckon its probably the card, simulating VB's...

Believe it or not, drawing lines is always slower than drawing filled triangles. Another way to test for fillrate limits is to make the window smaller. If the framerate increases, then you are fillrate bound.
Quote:Original post by rick_appleton
Believe it or not, drawing lines is always slower than drawing filled triangles.


I believe but never understood why...

This topic is closed to new replies.

Advertisement