Static meshes and Polycount

Hello there once again :slight_smile:

I have a question about the polycount etc.

TL/DR: Do static meshes have a max amout of Polygons and take a bite out of my performance or is the polycount totally irrelavent for static meshes?

Working as an ArchViz guy with Vray and C4D, I hardly ever truly cared about the amout of polygons… because Vray doesn’t care how many there are, more about alpha channels than anything else in my experience…

But with game engines I believe this to be different…
Now I have a couple of high poly assets… for example a simple lamp with 16k polygons… which is admittedly excessive. Do I need to, it being a static mesh that does not move or do anything in game except look good, have to retopologize it and make a low poly version of it or can I simply import it and stop caring about it?

Or does it take a huge bite out of my performance and/or make it impossible to package for IOS or other mobile devices?

I cannot really find anything about polycount etc in the manual (maybe I am just overlooking it but I don’t think so…?)

Thanks already!

Polycount is never irrelevant in any situation, it does affect performance but these days you can get away with much more than you could before.

You always make Low-Poly (I prefer Game-Ready) versions of your meshes, there’s never really any exception to that in a game engine. A 16K lamp is insane overkill, but of course it all depends on your scene, how close you want the camera to get to said lamp. Honestly, there’s no right or wrong answer that applies to every situation. 16K lamp will never render on mobile. Hell it’ll probably burn to a crisp in your hands. Mobile is still heavily focused on low-resolution art assets.

Okay… was afraid so… Thanks! Back to modelling it is then …

Like TheJamsh said, poly count is never irrelevant, but it’s far from the biggest bottleneck in rendering. Poly count is definitely a huge concern with skeletal meshes, but static meshes can usually get away with a whole bunch. The biggest bottleneck in rendering static meshes is with lighting and post-processes. A flat static mesh will render faster than say, a tree with a million polys and individual bark reliefs, but that’s not really because of the number of polygons directly - it’s more about the fact that lighting and pixel-space effects have to account for all of those contours while you’re rotating the camera.

Going flat and unlit with no post-effects will get you the most gains.

Yeah, the engine can handle a pretty high poly count–ultimately though you want to reduce that number as much as possible. I think games these days can end up with something like 1 million tris on screen regularly so it’s got quite a bit of capability.

Crysis had 2 million onscreen and that was ages ago.

Poly count is certainly less of an issue than it was a few years ago, but it still makes a performance difference. While the engine can handle a pretty high polycount (65535 tris for a static mesh iirc) I would definitely try to optimize each mesh as much as possible. For instance, depending on the type of lamp 500-1000 tri should provide enough detail for a desktop game. For mobile I would go with no more than 350-500, although admittedly I am no expert on mobile performance. In terms of on-screen polycount, Crysis is not the greatest role model to follow. For desktop, less than half that will get you fantastic results. For mobile, shoot for much much less.
Just remember; anyone can make a scene look good with enough polygons, it takes skill to know how few you can get by with.

that limit no longer exists (hasn’t for quite a while), I test imported a model with around 1,000,000 tris ages ago and it was fine although it took a very long time to import. cant remember if there is a limit anymore.

First off I want to say I think this is a great thread with some very helpful information!

The biggest takeaway here should be that optimizing a mesh for performance is key no matter what generation of software you are on. Just because a target device/system can handle the extra overhead it doesn’t mean you should be wasteful. :slight_smile:

As mentioned there was a hard of 65535k for UE3/UDK this is no longer the case. The only real hard limit for tri count is your hardware at this point. However, if you’re targeting Mobile there is a limit on how many tris can be visible on screen at a given point; less than 500k for any view.

This is taken from our documentation for Mobile Performance guidelines:

For general development here are some good performance guidelines broken down for Art and Level Designers:

Whether you choose to use these guidelines or not there is some really helpful information that can help.