Very low FPS. Component Sizes/Texture Sizes/Landscape/Best Practices?

Hi there,

We’ve got a sexy looking map that we’re currently getting a whopping 12 FPS on. I’m trying to track down what the issue is and I’ve found a bunch of things that make small improvements that add up, but I feel like we’re missing something massive and I have no idea what the best practice is. The first thing I notice on Primitive Stats is our landscape is absolutely huge and that doesn’t seem right (See screenshot, this is even with 63x63).

I took a look and our landscape component size is 2x2 with 1x1 sections. I put this up to 63x63 with 2x2 sections and we gained about 12-15 FPS, but it still wasn’t great and the map looked not quite as good.

I also dug into some of our highly used textures like the rocks and ground. Most of them were 1k or 2k, so I took a few down to 512k and got an extra 2-3 FPS.

Going from Cinematic to Low on quality settings gains 3-4 FPS though it looks DRASTICALLY different. Even with all these changes combined and the map on low, I get 32 FPS (vs 28 FPS on Cinematic).

I feel like we have to be missing something somewhere and I cannot figure out what it is. Is it a matter of literally changing all environment textures to 512 (or lower?)? Is there a global way to do something like that without breaking characters? Is there a LOD setting somewhere where I can leave textures at 2K but have then scaled down for actual gameplay? What’s the best component size? I’ve even fully deleted our landscape out of curiousity and on low settings, I get 38 FPS, still really low (and I’ve had a friend test this on his computer and he’s even lower)

Any advice on what to check here? Happy to provide any screens/info.

Gotta identify where the bottleneck is.
762k triangles is far from huge btw.

What hardware are you using? Texture resolution doesn’t have a big impact on frame rate, unless you are running out of memory.

Things that tend to be important are draw calls, shadows, shader complexity, post process settings, etc.

Does this information help at all? I’m not sure what a normal amount for some of these are. I will note, that draw calls under counters fluctuates really quickly as if it’s constantly making them?

Yikes, those draw call counts are very high. That’s definitely the root of your performance problems. Normally you want those numbers around 1k-1.5k max. Merge meshes, use LODs, use instancing, etc.

For your rocks make sure you’re using the foliage system, since that will batch those together. Also make sure you’re using the least number of materials on an object, each material on an object is an additional draw call.

That makes sense considering I knew it couldn’t be a good idea to have so many separate rocks and stuff. However, all that is very over my head. I’ll toss together a job offering post to look into it I guess. Anyone that sees this can also PM me if this is something they can do, paid position of course.

Thanks guys.

Wanted to update this in case anyone else happens to be in the same boat since we finally found the issue. We were using the Journeyman minimap plugin and there was a checkbox called Render every Frame set to true. We unchecked that and we instantly jumped to 100+ FPS. Crazy that one tiny thing like that can break everything!

Thanks for the help guys!