Achievable polygon counts?

Started by
17 comments, last by simon_brown75 23 years, 2 months ago
Hi, I''m writing a D3D engine for a simple first person shooter game using DX8 and I have a question about what sort of polygon counts should be possible. My system is a GeForce 2 GTS / P3-650. I''m using hardware TnL with my Vertex Buffer in video memory, and I''m sorting my polygons by texture (at run time, not per frame) and sending them in batches. I''m also using 256*256 textures, which is pretty reasonable, and I''m using mip-mapping. The reason I mention all that is that as far as I can see, there doesn''t seem to be anything else beyond this to speed up rendering in D3D. With a polygon count of 40,000 I get roughly 30 fps in 1024*768*16-bit, yet when I hear professional 3d engine programmers talking about their engines they mention having a million polygons *per scene* with D3D. Do they mean a million polygons before their hidden surface removal code? Even if they do, they are still getting many times the performance from d3d and 3d hardware than I seem to get, yet I''m using the same complier (VC++ 6 pro), the same DX libraries, and coding how MS recommend in the docs. Is it possible to send say half a million polygons to the video card and still get decent frame rates? Thanks, Simon.
Advertisement
40,000*30=1.2 mil

Seems about right...?
void *post;
1.) There will always be someone that pushes more polys than you ;-)

I suggest you to go to www.crytek.com and download the X-Isle demo. It features complex scenes and a polygon counter. This should give you a good idea what polygon rates you can get while having multiple textures and various special effects active. The demo is really worth the download.

Also, on nVidia.com is the OpenGL performance FAQ and various documents about the NV_Fence and NV_Range extensions. wglNVAllocateMemory and CVAs are also documentated. Check those papers out to maximize your vertex array performance. If I remember right, their demo pushes 5.7MTriangles/s while having CEM enabled.

My terrain engine a bit above 500.000Triangles/s while displaing complex scenes on a GeForce1 DDR

Tim

--------------------------
glvelocity.gamedev.net
www.gamedev.net/hosted/glvelocity

Edited by - tcs on January 25, 2001 8:53:47 PM
Tim--------------------------glvelocity.gamedev.netwww.gamedev.net/hosted/glvelocity
Oh, sorry ;-) I just realized that you use D3D not OpenGL. While many people would say I''m talking crap, OpenGL IS faster on nVidia cards because there are a few extensions that have no D3D8 counterpart. But you still might check nVidia.com because they also have a few papers on D3D vertex buffers.

btw: The polycounts in the X-Isle demo refer to the rendered ones...

Tim

--------------------------
glvelocity.gamedev.net
www.gamedev.net/hosted/glvelocity
Tim--------------------------glvelocity.gamedev.netwww.gamedev.net/hosted/glvelocity
Thanks for the replies so far guys, and keep them coming if anyone has anything to add.

Nebob/
40,000*30fps = 1.2 million tri''s per sec not per scene. I''ve definitely heard from reliable sources of D3D7 engines which can process >8 million tri/sec. Such an engine could run 60fps with 133,333 polys, or 30fps with 266k polys, over 6.5 times faster than my code

tcs/
Thanks for the links, X-Isle looks awesome from the shots, it''ll take a while to d/l but it looks worth it. Also i''ll see what advice nVidia offer.
1.2 Million? Are you using lot of textures? I can achieve up to 10 Million in 32 bit colors with GeForce2 MX and C333Mhz.
You can test how much does textures reserve time by turning them off.
Simon and 24hCoder
Can''t you guys link those demos to some webspace so that we mortals can download and try them out?
24hCoder/
No, I''m only using a couple of 256*256 textures for the whole map at the moment (not multi-texturing). I''ve checked the memory usage, and it should be only about 8MB with the VB (2.4 MB), all surfaces (5 MB) and textures, and the card is 32 MB, so there shouldn''t be a problem there.

I''m not doing hidden surface removal though. Do you mean you''re actually getting 10 M tris/sec through the video card, or is that how many your app. is handling and the HSR code means maybe only 20% get to the video card?

Jesava/
Which demos do you mean, X-Isle, or my prog?
The polygon throughput goes up from 1.1 M tris/sec to 1.6 M when texture-mapping is turned off, which is about what I''d expect, so it doesn''t look like that''s the problem.
If anyone wants to have a look at my game so far you can download it at-

http://www.sbdev.pwp.blueyonder.co.uk/D3DMazeNew.zip

(cut and paste the address). The download is only 418k. The keys are in the readme.txt in the help folder.

The polygon count here is only about 4,000 as I'm redoing the map, hence the better frame rates (see original post). If it doesn't work try disabling Environmental Mapping.

Any feedback, bug reports, frame rate info or compatibility (or otherwise) info highly appreciated

Edited by - simon_brown75 on January 26, 2001 11:55:44 PM

This topic is closed to new replies.

Advertisement