Performance worries

Started by
4 comments, last by d000hg 21 years, 9 months ago
A few quick qs about 3d card programming in D3D8: 1)My d3d app is pumping out a vertex buffer of ~20K triangles in a single call to DrawPrimitive (no textures). I get a fps of ~30 which equates to 500K tri/s (1024x768x32). Is this not a bit slow in that I can run Quake 3 faster than that? 2)What are reasonable output rates for 3d cards from pre Geforce right through to the GF2,3 & 4? 3)Is there an ideal number of polys to draw in a single call to DrawPrimitive, or is the answer just "as many as possible"? 4)Are calls to SetRenderState and SetTexture,SetStreamSource,SetTransform very slow? Thanks for any help guys
Advertisement
the first thing you should do is check to make sure that you DON'T have vsync turned on (it is on by default). i don't know how to software turn it off in DirectX (openGL i could help), but you can turn it off from the Display Properties control panel in windows. 30FPS wouldn't necessarily make sense as a frame rate to lock at, but if you are hovering at almost exactly 30FPS, then there's a possibility that you are locked into vsync b/c it's an even factor of 60 (standard monitor refresh rate. vsync is when main loop pauses until monitor is about to refresh before card sends image to screen.

anyway that should make sure you have an accurate frame rate count. it could totally clear up your percieved problem.

other than that, i can't help out much

-me

[edited by - Palidine on June 28, 2002 5:57:21 PM]
NVIDIA did some benchmarks that you might want to take a look at.

Edit: also here.

[edited by - IndirectX on June 28, 2002 6:01:23 PM]
---visit #directxdev on afternet <- not just for directx, despite the name
I can get 12mil/sec on geforce2 gts, 35mil/sec with a geforce4 ti4600, this is not in game performance, its just a single texture, lit, animating. Realworld game performance on average on a geforce4 ti4600 is about 8-9mil, can be optimized in a few areas, but have other areas to focus on.

LordXeen
9 millon triangles a second @ 75fps? A GeForce4 Ti4600? Isn''t that slow?
I''m actually planning to at least touch the 5 millon tris/sec @ 60fps on a GeForce2MX with a 3D game which are 80.000 triangles/sec, and that isn''t A LOT
Well for one it depends on what type of game you doing, and what type of overdraw issues you have, and some of the effects you are doing, etc. But I will say if you do 5mil on geforce 2mx, you are doing something great, I''m not sure how far along you are in your game, but I wouldn''t think you could assume you can do 5mil cuz nvidia says you can. You have collisions physics, game code, sound, music, other considerations, I would bet you that games like doa3 on the xbox aren''t doing more than 8mil/sec, that would have the game drawing (at 60) 166,000ish polys per frame, thats a lot of detail, the xbox has someplace between a gf3/gf4. So I wouldn''t think you would be able to do 5mil on a gf2mx, if you can you are doing something impressive.
Like I said, our game is an open terrain, with hills trees, water, shrubs grass, multiplayer online, with tanks etc. I need to do the skinning in a vertex shader, that would help my throughput some, but other than that, I don''t think I could get much more speed out of what I have, maybe another 30%, if I re-organized my tree hierarchy, and a few other things, but it really depends on the game.


LordXeen

This topic is closed to new replies.

Advertisement