model optimisation, texture size or tris?

hey not really a panda question or model conversion question, if i placed this query in the wrong category the please help me move it

anyway, regarding 3D models in panda 3D

which of the 2 is less taxing on rendering? if forced to choose which would you say?

low number of tris in the model


small texture resolution size

and if its a combination of the 2 factors, what range is it?

As I understand it texture size does not have much effect on performance, it is usually limited due to there being a limited amount of texture memory on the video card.
What would have an effect is the number of textures used since the video card has to do some work each time it starts drawing objects using a new texture. This is why you will sometimes see many textures combined into one larger texture.

For static models, polycount is not big issue, just dont go skyhigh with it, but for animated models, you should keep polycount low. Also, for static models, use LOD.

does this mean that if i use the same texture (a large one, maybe 2048 by 2048) for different models, it will be less taxing on the video card?

i assume LOD is achieved through scripting, and what is considered high poly count for animated models?

Yes you should see some benefit by doing that. Objects that have a similar state (the same textures, for example) get send sequentially to the video card, that way instead of telling the video card to change textures for every object, it can just tell it once for each set of objects that are similar. Panda actually has a tool called egg-palletize that put textures together into sheets.

If you are concerned about performance then the one most important thing from my experience is the number of separate objects. For example you will almost always get a better frame rate drawing 100 objects with 1000 triangles each than if you were drawing 200 objects with 500 triangles each.

Use just what you need and don’t worry to much.

Try to keep as little objects on screen as you can. If you done that polygons and textures won’t matter that much.

For textures take a moment and think how big will be the textured object on screen. If most of the time the object is tiny and its texture downscalled then use a lower res. Use texture compression if only your target hardware supports it.

If you have a model with more then 10k tris, make LODs for it. If it’s static and big divide it into a octtree.

But most of all don’t optimise until you need to, use pstats to find what needs to be improved.

Oh… and test the game on your target machine :wink:

i think i should state wy i asked the question in the first palce

im intending for interchangable equipment and character features, things like clothing, hair, head, face, weapons etc

with such a large array of models and textures, i was wondering if it would affect the engine’s performance

for example, if i have 5 different outfits, a T shirt, a trench coat, a business suit, and a long sleeved shirt.

one way to achieve this was with multiple textures. since the trench coat is the largest object, i can make that mesh and achieve the rest with alpha textures, sevaral textures 1 mesh

another method was making the several meshes and having the textures all on the same pictures, say i give 128x128 pixel space for each of the shirts, i would have a grand total of 256x256 texture size for all the outfits. sevaral meshes 1 texture

or should i just go for the old method of 1 mesh 1 texture.

this also leads to another idea i have. is it possible to manipulate layers in photoshop and targa files? like hiding layers. or is every layer considerd a seperate texture in un-compressed file formats like targa?

It should work either way. If I get it right only one variant will be visible, so either a coat or a suit. But I would go for separate meshes, only because that can look better.

As for the texture layers in files… I may be wrong but I don’t think panda can handle any file format that supports layers.