Achievable polygon counts?

Started by
17 comments, last by simon_brown75 23 years, 2 months ago
Looking good. ~60 fps @800x600x32 on my celeron 466, 128mb ram, rage fury pro 32mb vid card.

Never cross the thin line between bravery and stupidity.
Advertisement
You can actualy get to and over 10M tri/sec. But you nead to draw a bit more than 4k tris, and optimize them a bit so that vertex cache comes in.
don''t use 16 bit color with a Geforce2 silly.

---------------------------
"Be like china! Use linux!" - TANSTAAFL
If I switch off D3D Lighting (or remove all lights except ambient) I can get up to 2.6 MTris/sec. Also if I set AGP Aperture Size to 32 MB (same as VRAM) instead of 64, 128 or 256 this goes up to 3.1 MTris/sec, but this is still extremely low, particularly as I can only get up to this number in 640*480.

With a polygon count of 90,000 the best frame rate my engine will do is 35 fps.

I've tried everything, different sized Vertex Buffers, sending different sized batches of primtives. I've downloaded all the documentation from nVidia's developer resource centre, and tried everything they suggest. I've also tried Indexed primitives using index buffers, but again this made no difference.

My PC is definitely running ok, 3DMark2K score - 5491.

Any ideas?

Edited by - simon_brown75 on January 29, 2001 12:45:59 AM
Do you have win2k??
If so try instaling Service Pack 1, DirectX 8.0, and Detonator 6.31 drivers (if you want realy high poly in DX 8.0 then you can try 7.xx drivers, but they are a bit unstable). And even if you use DX 7.0 on win2k still install DirectX 8.0.
Well send the source code on my e-mail (marko.dolenc@guest.arnes.si), and I''ll see what I can do...
Sentinel/
No, I'm running Win98(rel 1)/DirectX 8/Det 3-6.34 at the moment. I'll send the source code to your e-mail address, thanks


Can triangle through-puts of 10 MTris/sec be acheived in *real* programs. nVidia have programs on their developer page that can indeed manage 14 MTris/sec, but they're not exactly comparable with a real game engine.

Interestingly the Boxster and Firetruck demos, also from nVidia, using h/w TnL run at around 3-4 MTris/sec (100,000 polys at ~30 fps), which isn't far off what I get.





Edited by - simon_brown75 on January 30, 2001 9:18:13 PM
Nobody(I think) seems to notice the terminology in the first post. "Scene". When a proifessional mentions a scene they are normally referring to a "Scene Graph" which a hierarchy to store the object in your world. Having 10 million polygons in a scene is not uncommon and is generally linked to the memory you want to allocate to your triangle structures etc. A 10 mil scene does not imply them all being viewable at once. Most professionals seems to use a yon clipping plane hidden by fog to cull the depth of a frustum, others use the more complex "curve of the earth" to remove distant object from view. (In an indoor engine this normally comes down to level design)

Of course occlusion is something that many professional use to control the fill rate of a given view of the world(which is frequent choke point). The problem with occlusion (despite the fact that it''s tricky to implement) is that you need to balance the time spent by the CPU culling against the time spent rendering triangles.

The current trend (generically speaking ) seems to be against occlusion culling as the speed of GPU''s is growing faster that CPU speeds. This means the balance between culling vs rendering is tipping towards rendering meshs you can''t see just because it faster that working out if you can see it anyway.

How do I make a scene graph with 10 million polygons? A good start is looking at Flipcode at Harmless''s review of whats out there. There are a few other good systems he doesn''t mention like Zhang''s thesis that uses something akin to an alpha quadtree to measure visibility.

Just remember that the pro''s say. You''ll get a bigger bonus in speed by choosing the correct algorthm than by optimising the hell out of a bad algorithm.

How are you currently culling or scene, frustum culling? Perhaps from an octree? If your not investigate that method, it''ll provide a good base to move on from. Have a look at the Octant project or perhaps tcs''s terrain demo for frustum\octree use.

HTH

Chris
Chris Brodie
Actually, as I mentioned, I''m sending every single triangle to the video card at the moment. I should have stated that in the original post. That''s really what I was trying to find out, whether the *engine* was handling 10M Tris/sec or the *video card*.

Looks like it''s time to learn about BSPs Harmless Algorithms looks like a good place to start, thanks for the link.

So if we''re talking the triangle throughput the actual video card can cope with (as opposed to the engine), then 50k-100k Tris at 60 fps is about the best that can be hoped for?

This topic is closed to new replies.

Advertisement