How many textures, triangles, vertex, shaders, objects.. ?

I’d like to know how many:

textures
triangles
vertex
shaders
objects
lights
others…

i can use before going too far on the complexity…

I know it all depends on what shaders i use and the size of the textures or the complexity of the model… but speaking of games between 2002 and 2006, what are the ranges in which one can think is not too simple so it won’t look too old but not too complex for the technology available. Just reference numbers.

I need to create a very complex scene so i need to optimize it very good from the begining.

Thanks in advance
Omar Rojo

That all depends on what hardware you’re targeting. There’s a ton of difference between GeForce FX5200 and 8800 for example…

The most important of your list are:

  • (visible) Object count. This primarily is a burden on the CPU (not the graphics card), and how many you can have depends on how much otherwise CPU-intensive your game is. Keeping it below thousand is really recommended.

  • (pixel) Light count. These add two things: each object that is rendered with a pixel light counts as a separate drawn object (so a single box with 4 pixel lights shining on it is about the same complexity as drawing 4 boxes). Also, pixel lights eat some fillrate - the larger your objects are, the more fillrate is needed to draw each pixel light.

How many lights you can have depends on how big are your objects, how big are the lights, how many of the m are pixel lights etc.

The rest of the parameters are not that important. I’d say keep the number of visible triangles/vertices in a frame bellow half-a-million or so (for moderate hardware). Again, drawing objects multiple times (as for pixel lights) counts as multiple objects for the total vertex count.

Keep your total texture size so that it fits into VRAM of your target hardware.

Got it… objects below thousand and lights duplicate my vertex count

I’m optimizing by grouping multiple objects into one mesh, i.e. 10 boxes are just one object because i know they will never separate.

Texturing shadows, some dark areas are painted to the texture so i will try to achieve the illumination of the scene with one ambient light i hope…

Removing never seeing faces, i don’t know if removing faces will improve some performance since i don’t remove vertex because they are shared along other faces (triangles)

I know this has nothing to do with unity directly but thanks for the advice >D

Omar Rojo

you’ve probably seen this but just in case you haven’t, this page has lots of useful tidbits too (as does otee’s page linked @ top):

; )

i haven’t seen it! very nutritional to the creativeness >D

thanks
Omar Rojo

How about non-visible objects with behaviors?

How about non-visible objects with behaviors?

I think it is answered in the first answer, because the object count doesn’t matter that much to the graphics card than to the CPU

Keep it below a thousand is really recommended and optimized script code on the behaviors is always appreciated >D

Omar Rojo

Below thousand is about objects that need to be rendered, because each “draw this object!” is quite heavy on the CPU.

The objects that are not visible but have scripts attached of course keep the scripts running, and how much are they heavy on the CPU depend on the complexity of your scripts.

Also, you can manually disable the objects that are far away, too insignificant or just not visible - but that is highly dependent on your game.

But a thousand objects is really a lot, you can manage, on almost any game, to have a thousand object in one scene including rendering and not rendering objects

High level games like half life 2 or lineage 2 or the next-gen games we are seeing coming out right now may be using more than a thousand objects, but that is quite a very high level produced game.

Omar Rojo