0
\$\begingroup\$

I have a human character that consists of 40k triangles. When I animated him, I noticed a huge impact on the frame rate.

Then I created a 10k tris version of the same model and animated him, and the frame rate was significantly higher.

I would like to ask if there is any formula or any other way to compare this situation with a high-poly model of a hard surface model against a low poly version of a hard surface model.

For example, I see some 3D model vendors that offer weapons for FPS games, and they call their weapons with 25k tris "lo poly".

Am I missing something here?

Is it really so cheap (for some reason that I haven't found out) to throw 25k of hard surface geometry to CPU or GPU, and it wouldn't make a noticable difference in comparision to a 3k tris hard surface model?

I'm working with Unity and HDRP, if that is important for an estimation.

Thank you.

\$\endgroup\$
2
  • 2
    \$\begingroup\$ Is it surprising that doing the work of animating tens of thousands of triangles costs more than not doing that work? I'm not sure what a good answer to this question would look like beyond "yes" — you won't get a universal formula since performance is so contingent on context and the load in other parts of your game, so this is why we emphasize profiling to determine what costs are acceptable or excessive for your specific needs. \$\endgroup\$ – DMGregory May 12 '19 at 14:15
  • 1
    \$\begingroup\$ Much like "high res", "lo poly" is a subjective, unregulated & context dependent term; for some engines / platforms 25k might be low. That said, the terms selected by some model vendors may have more to do with trying to make their product stand out. \$\endgroup\$ – Pikalek May 12 '19 at 15:13
2
\$\begingroup\$

Yes. Much less is done with static mesh triangles at runtime, they basically get loaded and then pushed into the rendering pipeline repeatedly.

Triangles for animated meshes have all that done, but also the work of animating them (either on the CPU or the GPU or a combination of both). Either way, it takes more work.

As to your specifically question about how much more work...

I would like to ask if there is any formula or any other way to compare this situation with a high-poly model of a hard surface model against a low poly version of a hard surface model.

No, there's no way to do this in general. There are countless ways to load, process and draw triangles for just static meshes, and countless more ways to do all that plus animate the triangles for animated meshes. It's impossible to generalize that possibility space to a formula.

In theory, for a specific implementation you could come up with some kind of relative cost factor (e.g., if you knew the Unreal implementations of static and skeletal meshes deeply enough, plus how they were used in your specific game). But practically speaking it's probably better just to profile the cases you are concerned about and make targeted optimizations.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.