Healthy polycount/triangle on screen for current gen PC games?

I did search but the same topic was asked 1 year ago (and it’s for handheld devices) so a lil updated information would help newbies like me :smile:. My question is in the title, how many (on screen) triangle I can have for a current gen PC games (RTS for example)?
And I hear that draw calls are more important then also how many draw call? :smile:

Such numbers are usually totally pointless since performance depends multiple things like of complexity of used shaders and quality of your code. Also when talking about PC can mean hundreds or thousands combinations

3 Likes

I too have long searched for a one sized fits all answer to this question, but it does not exist. I had some code that created meshes that were about 10k verts each. I created 16 meshes and it was running at like 1500fps. I took the same meshes and turned them into game objects that were like 100 verts each, but still had the same total verts (10k*16), and the code ran in 400 fps. It was the same number of verts each way, but the overhead of the game objects was considerable.

I hate to give the answer that you probably saw on every other thread you read but, “its depends, try it and see what happens”

4 Likes

Yeah, there’s no single answer to this. You have to find the answer most suited to your particular case by measuring and tuning something like your intended design on your intended target platform. Or, since that’s usually far more difficult than it sounds, you need to build performance criteria into your development process and tweak how you do things as you go.

1 Like

How would one typically approach this though? I mean you can’t just create enough art assets to fill an entire scene, find out it runs poorly, then be like “Oh, I guess I have to re-create them all with lower poly counts.”
At least, I would think.

1 Like

Or simply decimate the mesh.

1 Like

Yeah, you’d want to avoid that.

Test what you can with placeholders in advance. Then, iteratively build towards what you need while monitoring performance the whole way. Also, test in advance to see what’s cheap/expensive on the target device, take advantage of the former and avoid the latter like plague in your art design.

Once you’ve got the first level optimised it should provide a reasonably good guideline for getting the rest right.

1 Like

thank you all for the answer guys specially delinx, I wish I have all of your brains :open_mouth: (i’m not zombie)

In my RTS game I have many bots (use same mesh and texture but act differently) in the scene, will I have to use some advanced techniks to keep the framerate high or Unity will automatcally do that for me via prefabs(?), as I learned somewhere prefab will ref the mesh and stuff so we can have many models (same type) at once but the framerate is still high.

I’d think that for anything where you think poly count is going to be an issue, you’d have some sort of LOD system in place anyhow. In that case, you’d already have a model that is a step down in poly count ready to go.

1 Like

Well I’ve yet to run into this issue, as long as you’re not being daft with it. A 1Million poly tree planted around 50 times is a sure fire way to make your PC explode.

When I was working on our openworld stuff, it wouldn’t be uncommon to have between 8 and 11 Million polys in view at any one point. Seriously unless I was sculpting a hi-res object it wasn’t worth the time to re-factor the artwork… When a decent res terrain takes up 3 - 5 Million polys, shaving off 300 from a mesh and shaving off another 300 with a LOD seems relatively pointless. You’d be best LOD’ing the terrain with something like simplygon…

For barrels, crates and general fluff it’s simpler to make a low poly model and wrap it in vertex normal / smoothing groups.

Of course you can’t approach mobile in such a way, but on PC and Console you sure can. Where you’d easily run into problems is material complexity, draw calls, lighting, shadow casters and PhysX.

.