Archived

This topic is now archived and is closed to further replies.

nitzan

TPS

Recommended Posts

How many triangles per second does a normal game engine render ? It seems like Nvidia demos render at around 4-6 million triangles on my machine. At 4mtps and 60fps, that means you can only have 66,667 triangles drawn per frame. My engine can only do between 1.5 and 2.5 mtps (on my levels, 5mtps with optimized data). Which means I am limited to a measily 25,000 triangles per frame, at 60fps and 1.5mtps. What do other engines do ? I am talking about games, not some optimized engine which draws one object with one texture map. Nitzan

Share this post


Link to post
Share on other sites
I know several UT2003 levels get to 80,000 triangles in a frame at 40-60 fps on my Geforce3 200. My card seems to be more fill rate limited than geometry limited anyway ( Particles and whatnot slow the game down more than raw geometry )

Share this post


Link to post
Share on other sites
It truely depends on programmed the game engine

Especially the better vid cards can render a ton of polygons, but it is also based on the engine.

A good engine should be able to draw the scenes its built to draw and it should do them well. This is of course for runtime speed.

For loading times of maps it depends on how fast the data can get in the program, which you usually wont notice b''cuz the sound files will make the load screen longer.

But anyway, an engine should be able to render as fast as the game needs. You should always use the lowest poly''s as possible that have the least amount of model damage (which means dont decimate them so low they look like crap).

If your game is high detail, you will probably need more than 25,000. Try to optimize the engine, that should not only take you out of the problem most engines suffer from but also make optimized data even faster.

---

Share this post


Link to post
Share on other sites
For those who are intersted...

The PS2 verson of Star Wars Bounty Hunter has 30,000 to 50,000 triangles per frame at a steady 30fps. So 900,000 to 1,500,000 million triangles per second.

Nitzan

Share this post


Link to post
Share on other sites
What is your subdivision and visibility algorithem? Are you using BSP or Octrees? If you are using BSP''s is normal to have a big slow down with your scenes because BSP are great for optimizing but only when levels have a low polycount per image. For more detailed sceneries, it slows down to much because you must render the scenerie polygon by polygon.
If your senerie is very detailed, you must use Octress or AABBtrees.

Share this post


Link to post
Share on other sites
I am using Octrees, but these have alot of problems too. I generate my octree from a cube, for example -1000 to 1000 on all sides. If I have an object near the x,y,z axis, it will immediately be included in a very low octree level. You have no gurantee that an object will sit nicely inside a cell, it will very likey cross the bounds of two nodes and have to be included in the parent. This can occur if the object is placed near an axis, or if the object is very big.

On some of my levels, over 90% of my objects were in the first several levels of the octree. If I try and keep my objects small, I have alot more triangles and I end up having to render more triangles than I am saving by culling.

There seems to definitely be a balance between object size (smaller objects add up to more triangles) and octree-culling capablities.

Also, to make things more complicated. I read on the nvidia site that unless you limit your code to 500 draw calls per frame, the overheard of doing the draw calls is so large that it immediately becomes a cpu-limitation.

But apparently at 1.5-2.5 mtps, I am close to the commerical standard. Which means I can have 50,000 to 83,333 triangles per frame at 30fps (half that at 60).

Nitzan

Share this post


Link to post
Share on other sites