Poor performance in small scenes

Hello guys!

I am facing with the performance problem in every scene I build in UE and I can not resolve it. When I add landscape, landscape material and some foliage it starting to drop FPS below 60. In little more expanded scenes it is around 15-30 FPS like on screenshots. It is really getting me down.

I can not figure out what exaclty is causing the bad performance. Scenes are not really big, there are a dozen meshes and one procedural foliage.
Foliage and meshes have reduced triangles and set LOD. In the result of removing all foliage and meshes FPS are going to 50.

I am working at 1009x1009 landscapes. I tried 4033x4033 but it causes the loadings that fluent work is impossible. Removing the whole landscape reduces drawn triangles by about 2kk and gets back only about ~20FPS. Without landscape my general FPS are still about 40-50.

About my PC I think it has enough power but let me know if this build should run it smoothly?
PC build:
I3-9100F, RX 580 8GB, 16GB RAM

Please help me find out what is going on. Thank you for help in advance!

Here is my latest scene with some stats:

Are all of your tress and foliage dynamic (ie not static)?

Is your sun (directional light) also dynamic?

Can you post a screen shot of overdraw?

What is the fps when you launch as standalone (not editor)?

What is the texture resolution of each of your assets - rocks, landscape, trees, foliage?

Are there any other settings you are using that affect rendering performance - post process volumes? If so, which settings are active?

Thank you for your response,

My directional light and skylight are set as dynamic.

Trees from procedural spawner were set as static, I changed it to dynamic and rebuilt but did not notice much effect.

Overdraws screenshot attached.

Fps in the standalone mode in this scene is around 15.

For the landscape I use 2K textures, but it is advanced material with layers and masks.
For the assets it seems that the texture resolution is 4K in the most, also all trees from foliage. Only few objects and grass foliage have textures in lower resolution.

I use post process volume but only few settings from lens and color grading features.
I use also exponential height fog, lightmass volume and reflection capture set basically. No more additional things affecting rendering as I see.

Quality settings are set to epic, lighting as production.

Regards

Hi, can you show an image of “stat gpu” and “stat rhi” when you’re in standalone? Cause if you profile in editor you will get wrong results.

My directional light and skylight are
set as dynamic.

If you do not have any static lights, then you don’t need any lightmass volume (unless you’re using precomputed visibility) and building lightning will do nothing.

I use post process volume but only few
settings from lens and color grading
features.

Post processing is active by default. What you’re doing when you’re changing paramters in the post process volume is changing the default settings, not activating those post process effects (of course if for example you set bloom intensity to 0 you’re deactivating it).


Your problems are the foliage and the landscape. Foliage is generally heavy on performance and those trees you’re using are especially heavy on performance (if you don’t need their wind effects / bending better use trees that are not so heavy on performance or at least disable those effects in their material).

The landscape is also generally heavy on performance (you can try changing some lod settings) and your landscape material has a very high shader complexity. Better reduce that or use a runtime virtual texture for it.

If you’re not already doing so, then enable mesh distance fields, use distance field shadows and reduce the cascaded shadow distance of your directional light, that should reduce the ShadowDepth cost.

And doc on RVT

And you also might want to watch this here Performance Optimization for Environments | Inside Unreal - YouTube

Also you might want to read through this here Unreal’s Rendering Passes - Unreal Art Optimization

An overdraw of 4 (green) is the worst you can get unless you’re using translucent materials. This overdraw will increase the shader complexity (you can view overdraw + shader complexity which might give you a more realistic view than just viewing the shader complexity). To reduce it, use more agressive lodding to reduce the vertex count in those green trees.

Thank you for your feedback,

You are right, the statistics are different. I attached stats in standalone below.

I hope these things will finally raise my fps.

Thanks for the links to docs, for sure I will learn.