Skip to main content
GameDev.net gamedev.net
🔒 Locked

Triangle Count (Voodoo 3)

Started by Draigan Oct 24, 2000 at 10:30 AM 12 replies 1.5k views
Original Post
Draigan
Draigan
I''m trying to maximize the triangle output of my engine but I can''t seem to get a Voodoo3 3000 up to the specs. It says that it''s capable of outputting 7 million triangles per second but I can only get it to do around 600,000. Anyone have any similar results? Are their advertised specs using no z-buffer, textures, alpha, etc...? Thanks for any info. -Dion
SiCrane
SiCrane
The advertised 7 million triangles per second is with minimal features enable. The joke when it was first released was it was only 7 million triangles only if they were single pixel triangles.
daveb
daveb
Hate to break the news to you guys - but this is _always_ the case with 3d hardware. The numbers you typically see from manufacturers are peak-performance numbers with minimal feature sets enabled and _nothing_ else going on. When they come around visiting game developers, they'll openly admit that the numbers they make public are bogus. In any real-world setting, you're lucky to get 10th the specified numbers. Throw in game code (ai, pathfinding, etc) and very quickly it all evaporates.

Its an inherently frustrating problem for developers because people see these numbers and they can't fathom why your game doesn't do 500 bajillion poly's per frame because hey, the _card_ says it can do it.

Edited by - daveb on October 24, 2000 12:19:33 PM
Volition, Inc.
Draigan
Draigan
Right now I''m doing some profiling. It''s just a landscape engine kinda thing with no other game elements (AI, physics) involved. I''m using VertexBuffers of course. Right now it''s spending like 90% of it''s time drawing the nodes of my terrain quad-tree which is basically just a DrawIndexedPrimitiveVB as well as the dynamic VB locking stuff. And it''s getting somewhere around 600,000 triangles per second. The only thing I can figure that is slowing me down is using D3DPT_TRIANGLELIST instead of D3DPT_TRIANGLESTRIP and a few texture state changes. I have texturing, min/mag bilinear filtering, texture perspective, zbuffering,16-bit color,fog enabled.

Question 1:
- Do you think I''m at the limit of performance on the VooDoo3 3000?

Question 2:
- Anyone have any numbers on the Nvidia cards? Does the GeForce do it''s 12 million triangles per second with these features enabled or is it down like you said (around a 10th) so that I would get 1.2 million triangles?

Thanks guys/gals.

-Dion (Draigan)
zedzeek
zedzeek
the geforce actually comes quite close or so ive heard.
test for yourself download the spheremark demo from thier site and see how many tris per second that does on your card
starting the demo and just pressing b i get
my vanta does 1.46m tris/sec
(note desktop was set to 1152x864x16)
though in no way is this a real world simulation.
another thing to note it doesn''t use the nv_vertex_range extension




http://members.xoom.com/myBollux
havoc
havoc
Benchmark, measured in triangles per second is incorrect!
More correctly benchmark measured in vertexes per second.

By example, you may draw million separate triangles (no shared vertexes), and you may draw million triangles with many shared vertexes (strips, fans, indexes)

Second case faster.

In both cases you draw same triangles count, but in second you use less vertexes, and you need less matrix transformations ant it work faster.
eng3d
eng3d
?????.

It late may depend about hardware pipeline. Because the hardware work primary with vertex, texel and triangle. Triangle is the slow process.


About the speed:
7.000.000 for second = 100.000 per frame. For a human body, the triangle is about 1500. 4 o 5 human body + scene = 10000 triangle per frame, is the common speed. So, it is about 10% for the official speed.






-eng3d.softhome.net-
-----------------------------------------------"Cuando se es peon, la unica salida es la revolución"
eng3d
eng3d
?????.

It late may depend about hardware pipeline. Because the hardware work primary with vertex, texel and triangle. Triangle is the slow process. And triangle with texture is even more slow. For this the vertex speed don''t count.



About the speed:
7.000.000 for second = 100.000 per frame (about 60fps). For a human body, the triangle is about 1500. 4 o 5 human body + scene = 10000 triangle per frame, is the common speed. So, it is about 10% for the official speed.






-eng3d.softhome.net-
-----------------------------------------------"Cuando se es peon, la unica salida es la revolución"
paulcoz
paulcoz
Assuming they do base the card specs on ideal conditions you might also consider that the specs are based on numbers running in 3dfx Glide - you can bet the 3dfx guys optimised their code (& exagerated a little bit ) when they came up with those numbers.

Draigan, what FPS are you getting?
Paulcoz.

Edited by - paulcoz on October 26, 2000 12:35:30 AM
Draigan
Draigan
I''m getting around 6-7 fps with 95,000-120,000 triangles visible on screen. If I use my terrain LOD I can get the speed up around 45-60fps with 6,000-10,000 triangles visible. These are textured, z-buffered triangles.
real_man
real_man
Havoc:

There is no such thing as "shared" vertexes. Decompile your program that uses GL_QUADS and you get 2 GL_TRIANGLES. Same goes for QUAD_STRIPS, they are just a bunch of triangles.

Hate to burst anyones bubble but there all the same speed
real_man
real_man
One more thing guys...

If you have 1 Million polys on the scene and you get 7fps then your getting 7 Million polys per second.

Just multiply the polys times fps.
havoc
havoc
Is not true.
Why triangles strips faster than separate triangles?
Because, strips have shared vertexes, so you can transform it in less time. Try draw 100000 separate triangles and same count of stripped triangles. And you''ll see, which is faster.

Topic Locked

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

Sign in to reply to this topic.