Drop 50 fps just looking the ground with simple texture

Hello guys.

I’ve spent quite some time to optimize my game a lot.
But here, i’m really frustrated :

When I look at the sky, i got like 150 fps.
But just looking down on the landscape, drop fps by 50 !

I remove everything ‘heavy’ stuff, foliages, removes the landscape material to a simple color texture without roughness or anything, and yet, see :

When I see the only fee fps i’m loosing with a lot of my foliage everywhere (removed here), i’m not really accepting to loose so many fps for just a color at the landscape ?

Would anyone have a clue on what happening here ?

Note : I’m not using nanite on the landscape. Made a few test : not better, with strange shadows

Thank you !!

Granted the fact it drops FPS when you look in a specific direction, seems to indicate a rendering issue, rather than a game logic issue.

Have you tried doing any profiling to see what exactly is eating up the performance?

Also I’ll add: what does it look like when looking in the material complexity view mode?

1 Like

Thank you for your reply.

It’s all green in the complexity view :

( no fps because screening from outside the editor window)

I have to say, there is yet a consequent drop of fps when i switch to “F4” mode (all in white) with no color but with the shadow

And i’m prety high in fps in the “F3” mode. There is no shadow except cloud so i don’t really know.

For profiling, which tools would you recomand ? Like the one in stats/advanced/landscape ?

The material use here to debug is basicly :

Thank you for your time

Edit : I’ve tryed without any landscape material.

I can see lots of forms of shadow waving everywhere, i’m pretty sure this is consumming lots of my fps maybe

Well, i’ve been testing with a brand new project, it’s the same.

Methodology :

New project, frist person game

Landscape creation settings :

Remove everything to keep only :

Result :

I really don’t know if this is “normal” or not…

Does light calculation on surfaces taking this much fps and that’s it, i don’ know.

If anyone has an idea …

Any help apreciated ! Thank

Check out the documentation to learn about profiling; should help you identify what the problem may be:

Unreal Insights in Unreal Engine | Unreal Engine 5.5 Documentation | Epic Developer Community

1 Like

You’re losing FPS because when looking at the ground, the engine is actually having to calculate things like lighting and shadowing; even if you just have a basic color material like that. It’s completely normal and to be expected.

Try setting the viewport to unlit and you’ll likely see next to no difference in fps when looking at the sky vs ground.

1 Like

50 FPS is a big drop just for looking the floor…

Try to disable “Ambient Oclussion”
You can disable it in “project settings”, you can earn a few FPS more…

And close this two windows too… (Details and Outliner)… they can cause FPS drops (up to 30FPS in my case)…

1 Like

Thank you @IronicParadox, @Sklor and @Ivan3z for your answers.

i’ll make some more tests tomorrow.

@Ivan3z My screenshots are from packaged game, so there is no details windows or other.

I’ll try to desactivate ambiant occlusion as you suggested, i’m sure there are some tricks like that because I feel like 50 fps just to look down a plane surface with basic texture is huge.

I’ll let you know.

Have a nice day / night

Take a look at this:

https://dev.epicgames.com/documentation/en-us/unreal-engine/unreal-insights-in-unreal-engine?application_version=5.4

you can olso execute this command when you are looking the floor

ProfileGPU

And here the typical tricks all of us do when we have a regular computer.

In fact, i recoment you visit the YouTube channel of this last two videos… the guy have a lot of videos about grass and landscapes…

1 Like

It’s really not. As soon as some sliver of of the floor comes into view, all of the lighting and shadowing has to start spinning up, like lumen and VSMs(which is why I said try the experiment in unlit mode and you’ll see almost zero change in fps). When looking at the sky, the renderer basically skips the bulk of lighting/shadowing calculations(aside from some basic atmospherics like fog, visible volumetrics, etc etc, but the bulk of the heavy calculations are skipped).

So that -50fps you’re seeing might only become something like -55fps once you throw in a reasonable amount of scene props with similar simple materials(basic albedo+ORD+normal setup). It may look dire, seeing some big 150->100fps change in a situation like this, but it’s completely normal.

But as Ivan3z said, you’ll need to do some profiling. Also, FPS changes aren’t the greatest metric to go by. Get in the habit of looking at frame times instead.

1 Like

Thank you guys for those precious informations. I’ll dive in those tools.

One last question, I also have a drop of fps when looking far, at the horizon.

I guess there are some ajustement possible for not loading too far ? Would you have some documentation about this ? Is there any tunnings possible ?

Thank you

And bonus question :

What would you consider a acceptable “normal” drop of FPS for foliage . I’ve optimized it with lod, culling, disable wind effect, compressed the textures to a low size, etc but it still heavy and I would like to know what kind of performance do you get, like how much fps does it cost in your projects ?

That’s because it’s rendering both the sky and the ground. The default built in sky material isn’t super expensive, but it does have a cost.

That’s an extremely debatable topic that depends on a million different variables and opinions. The main killer of FPS with grass is overdraw. So make sure to use the shader complexity viewing mode to debug.

Other than that, view distance will obliterate performance, which is why people use tricks like billboard clusters(along with LODs in general) for when they still want some grass in the distance, but not at the same cost.

Sometimes, depending on the asset, you can also get away with using dithertemporalAA masked materials, but at the tradeoff of having some grainy outlines if you don’t do it correctly.

1 Like

Performance also depends on the hardware…
So if you have the best computer in the world, maybe the game runs great. But someone else with a mid-range or low-end PC is going to have a lot of trouble running the game… So I think you should optimize it as much as possible if you want your game to be used by as many people as possible.

1 Like

Hi,

One last question, I also have a drop of fps when looking far, at the horizon.

Each landscape component is a separate draw call. With the settings you have used there are 3000 components, if you do not stream them by distance then looking at the horizon would be hundreds of them that need to be drawn, whereas if you just look at the ground there is only a single component that needs to be drawn. If you would remove the landscape and just use a single plane (scaled to the landscape size) then I would expect nearly no difference in performance whether you look at the ground or at the horizon.


For the grass, consider disabling shadows (you could use contact shadows instead if you don’t want unshadowed grass, but I wouldn’t use any ‘regular’ shadows, imo the cost vs visual impact is way too large for small foliage like grass). Also the cull distance used in the image is very large.

1 Like