Need a tech answer!

A long time back, Tim at Epic told me that on nVidia cards at that time, any 3d model under 500 tris was rendered basically ‘free’…his words. Now, as a generic example, I’m curious if it’s more efficient to render a single 5k tri object, or 10 objects at 500 tris each. Currently making a stationary shield generator. It will have a startup ‘being built’ idle animation, an ‘activation’ animation and a continuous running animation until destroyed. The animations can be done as hierarchically linked objects, or as a single skinned object. So I need to know if it would generally be faster to have x number of parts at or below 500 tris or a single skinned object with 5k tris or whatever the end result will be. Unity techs, please advise…

It’s generally faster to have a single 5K object than 10 .5K objects, because a single object has 10X fewer draw calls than 10 objects.

–Eric

Hmm. Another question…a 10k model with 2 or more material ID’s…might it be faster to have the objects that comprise the additional ID’s rendered as separate models? Seems in this situation, using a combined model with separate ID’s is the same a separate model with 1 ID each.

Yes, it’s basically the same. Having separate meshes means having multiple Unity GameObject’s, too, but it’s a negligible difference unless you take it to the extreme.

Yeah, those are probably nearly identical. A mesh with 2 materials is rendered as 2 meshes regardless.

You should probably clarify what “Tim at Epic” was talking about, because (at least in Unity) that is the exact opposite of true. Due to the overhead of a draw call, a 500-tri mesh costs virtually the same time as a 5000-tri mesh. If anything, it’s the other 4500 tris that are free (ish), not the first 500. The only exception is that small meshes can be batched when they’re under a certain number of polys, but it’s by no means “free”.