FPS drop in a simple scene

Why does my scene get such low fps in 1080p but in slightly lower resolutions it goes up to 110+ fps?

I have a very simple scene . No high quality assets . I had already made a small game with higher asset qualities before but I never got this issue . I have tried hard culling tress and grass . Reduced the amount of grass and trees (after the screenshot was taken) yet I have no luck .

1 Like

Nice scene :slight_smile:

As you increase the resolution, your GPU load literally goes up by factor of times, so it’s no surprise. Just going from HD to full HD is double the pixels.

Try resizing the viewport with your mouse and watch the FPS go up and down with it.

Also, anything other than a minimal amount of foliage, will hammer your FPS. Unless you have vicious LODding ( I mean billboard LODs at a very short distance ).

1 Like

That’s true but the main thing I’m concerned about is that the scene I’m working on right now should have like a min of 80 frames at native 1080p , coz I have used low to medium poly assets here. I’ve checked all optimisation viewmodes and there’s nothing concerning .

1 Like

But it is the foliage, right?

Take it out, and the problem goes away.

I mean I can reduce it if that’s what you’re saying but I can’t remove it coz itll take the atmosphere away .

1 Like

I know, it’s a pain, right? :slight_smile:

The main thing I would do is experiment with a lot of different trees.

Many packs say ā€˜low poly’, but I’ve seen some Megascans trees work better than some low poly stuff. The total number of triangles matters, and the material.

1 Like

imho a scene can be heavy anyway.

you have a ton of static meshes, which might even have collisions enabled. there are just so many things to optimize.

one suggestion from me would be to try and use packed level instances. https://youtu.be/VM0FCUxySXQ

Alright I’ll look into it and let you know

CKO’s suggestions are really good though.

the number of materials really makes a difference. if you pay attention with packed levels you’ll get one instance per mesh per material. (that means, change the material and you need a new instance).

there are material parameter collections and custom primitive data which can help to reduce the number of materials.

low poly means little. any decent scene needs lods. i can’t tell if your trees has them. ue has automatic lod generation on the mesh editor.

or you can use nanite. beware that nanite has a few caveats,for example don’t enable for foliage unless you know how to deal with that. memory might increase, light and shadows will change.

and grass indeed is a huge perf killer. should have lods.

also remove collisions for things that don’t need it.

experiment and measure, repeat.

good luck!

I don’t think my tress and grass have LODs . I used free stylized packs that aren’t from Quixel . So that’s why I tried culling it to a favorable distance but unfortunately that did not solve the problem.

Thank you lots for the recommendation. I’ll implement it and let you know if it worked .

1 Like

all good, give a try to my suggestions. you can make unreal generate automatic lods for most meshes. and otherwise you can try nanite.

1 Like

Update regarding this . I used LODs but it only gave me a 2 frame boost lol . As for partition it pretty much makes the scene look absurd so I don’t think it’ll be worth any . I messed around with materials a bit but I did not see any change . The game lingers around 51 fps in Full HD res .

1 Like

not sure what else you can do. what do you mean by ā€œscene look absurdā€ can you share a screenshot?

Do ā€œstat uobjectsā€ in the console. What is eating the most amount of game thread?

1 Like

Don’t use frames as a reference. Ever. Look up how you are actually supposed to read and quantify performancestats before you go any further on optimizations.

Also - are all other editor windows, tabs, whatever else closed?

And again - goes back to the first point about the fact you can’t be doing things right if you don’t even know the right thing to look for or terminology - you shouldn’t be concerned with what happens when running anything in editor short of being able to pick out if something is incredibly amiss (which seems to be from posts above).

Aside from this, you are likely having Overdraw issues anyway - it’s common with foliage sourced togeter without having any idea of what an optimized asset should be. And its also common because most assets you find are in fact badly made with regards to optimization (stuff like separate tree trunk and leaves materials are a dead giveaway of someone making assets when they should go digging up cabbages instead, for instance).

Anyway, In a pinch, you should try making sure that the alpha transparency pre-pass option is correctly set - if that’s still a thing for whatever engine version you are on. Nanite brought about a ton of changes and bad performance, so there is that too to consider.

1 Like

I have checked all my optimisation viewmodes. Everything seems okay except for one , that’s the LWC function usage . In that , the scene comes in a maroon-ish colour , between good and bad. Any suggestions on fixing it ?

Don’t use crappy engine versions that try to use ā€œdouble" as a means for making the landscape system that had never worked right work - well, even worse? It’s not like it works better afterall.

Disable large world coordinates or whatever that is alltogeter - or move to an engine version that doesn’t have any of that.

Also, no, double in this case isn’t beneficial.

Normally higher number tresholds would be great. Everyone should be all for it.

BUT… In this case the ā€œneedā€ is 0 (or less).

If you want precision you just use meshes and set up world origin shifting properly.

With that you are guaranteed precision.

You can argue that ā€œat a distance this building is in a different place" - sure.

But first of, you aren’t really supposed to see a building from more than 8mi away where the error margin becomes somewhat noticeable.

And second of, your LOD should already be so low detail by then that the difference in math wouldn’t be noticed due to the fact it is still less than a pixel difference at 4k native.

if epic ever decides to build a decent/modern day version of landacapes and their underlying structure for level layouts, with native double - then maybe it will become worthwile to have and use stuff like LWC - you know, since if it were native it also wouldn’t ā€œcost extra" for someone’s scene…

On a more practical note, I don’t think it’s possible to have stuff perform well while jumping from regular float to double unless you expect the RAM/VRAM requirements to be adjusted accordingly - and I do ’t think that this is pheasible still, maybe by 2030 when your avarage gfx has 12GB vram. Until then, and especially with consoles in the mix, you can’t really make the jump - (so it isn’t exactly all Epic’s fault, a rare occurrence).