Sign in to follow this  
dave

How Do They Do It?

Recommended Posts

How do the professional game engines manage to render 1000000 triandgles into a scene. My first engine struggled at about 50k to 75k. What main prinicipals can the programmer look to apply in his own code? BTW im running a very fast system so its not that. ace

Share this post


Link to post
Share on other sites
Go to ATI and Nvidia's developer sections and download performance optimization documents. They have an enormous amount of information. You'll possibly have to restructure a lot of your code.

Share this post


Link to post
Share on other sites
Well i dont think optimisation is what im looking for. I don't think i'm rendering enough yet for optimisation to affect it much.

I'm basically after shout-outs for the basic techniques on what DirectX like to handle when it comes to batching, index lists etc

Anyone?

ace

Share this post


Link to post
Share on other sites
My first suggestion would be to figure out if you're fill-rate limited or transform limited. My guess is that you're fill-rate limited, so although you're drawing fewer triangles than other games or graphics demos, you're drawing just as many triangles. They might actually be getting a higher triangle count simply because their models have a higher triangle count, and thus each triangle on average is smaller. Fill-rate remains about the same, and they simply push vertex processing a bit harder.

Or it's possible that you're doing a lot more alpha-blending, or maybe you need some better culling algorithms, if overdraw is maxing out your fill-rate. Granted, I'm nowhere near an expert, but maybe these few suggestions might point you in the correct direction.

Share this post


Link to post
Share on other sites
Quote:
Original post by ace_lovegrove
Well i dont think optimisation is what im looking for. I don't think i'm rendering enough yet for optimisation to affect it much.

I'm basically after shout-outs for the basic techniques on what DirectX like to handle when it comes to batching, index lists etc

That's exactly the kind of info you'll find in optimization papers [smile]
Optimal batch sizes, things to do, things not to do, ...etc

Share this post


Link to post
Share on other sites
So the fact could be that my fill rate is the same as the 'pros' but they just use more triangles.

The kinda things i found affected my fps where a back to front sorting routine and especially my font engine which used textured quads. Although iwas told in another post that i was doing it correctly.

Anything to say about theese two points?

ace

Share this post


Link to post
Share on other sites
Quote:
So the fact could be that my fill rate is the same as the 'pros' but they just use more triangles.
The modern graphics pipeline is a hugely complex beast, there are many things that can have a substantial influence on the final performance. This is why you read through nvidia/ati papers to determine what works best for their chipsets..

If you've got the time/money, look up this book: Realtime Rendering (Second Edition), Moeller & Haines Apart from being a classic text on this sort of thing, it's got a great chapter on optimizations and how to profile a graphics engine. Read that and you'd have your answer to this post.

Things like balancing geometry throughput and fill-rate throughput, and ways to determine/improve parallelism opportunities. These sorts of optimizations can be practiced from square 1 even if you've only got a simple engine.

hth
Jack

Share this post


Link to post
Share on other sites
Quote:
Original post by ace_lovegrove
Ok, so i had a quick read of a pdf about ATI/DX ooptimization. It says, for example, use about a 4mb vb for starters. How can i work out roughly how many verts this would be?
By asking yourself how big your vertices are.

"Initiative." Look it up, it'll change your life.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this