Skip to main content
gamedev.net
🔒 Locked

Triangle strips?

Started by Baldesadini Oct 31, 2005 at 1:16 AM 2 replies 950+ views
Original Post
Baldesadini
Baldesadini
Hello! For some months nov I was figuring out, how to speed up my engine. I have read a lot of papers, mainly from NVIDIA, and I saw it everywhere: use triangle strips rather than lists, it is far more efficient. It may be that it SOUNDS more efficient, but it isn't. I have performed tests with meshes arround 2K, 4K and 8K polygons, some of them also with subsets and finaly came to this result: NOTHING, ABSOLUTELY NOTHING IS NEAR AS FAST AS VCACHE OPTIMIZED LISTS. Forget triangle strips, in my case, every triangle strip algorithm was at least 20% slower than VCACHE optimized indices. Do you have any better ideas? My test cards were ATI RADEON 9800 PRO, GeForce 5200 and GeForce 6800GT. On every card VCACHE was far the fastest method to render models. // lessbread edit - removed expletive from title [Edited by - LessBread on October 31, 2005 4:22:09 AM]
Rasmadrak
Rasmadrak
Well, that may be... but consider using some 100 000 polygons per object... you will see a difference! ;)

Anyway, I found out that below < 10000 polys immediate mode is just as fast as vertex arrays on my machine... but on another machine it can be quite the opposite, who knows? but if you can squeese out an extra frame every now and then - why not? :)
"Game Maker For Life, probably never professional thou." =)
Sneftel
Sneftel
Quote:
Original post by Baldesadini
use triangle strips rather than lists, it is far more efficient. It may be that it SOUNDS more efficient, but it isn't.

That's kind of old information. It was a lot more important when vertices and indices were streamed over the bus rather than stored on video memory. Much more important is cache coherence. Of course, none of these things will do you a bit of good if your bottleneck is not vertex processing. Have you taken steps to figure out where the bottleneck in your game is?
Ysaneya
Ysaneya
What Snetfel said.

In addition, you have to take into account the batching overhead. Triangles strips generally require more glDrawElements/drawPrimitive calls than the equivalent using lists, unless you start to add a lot of degenerate triangles.

However, you'll find that strips provide some good performance improvement on non tranform & lighting accelerated video cards (old cards, pre-Geforce, or integrated cards).

Y.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.