Issue with Rendering Performance on Unreal Engine - Need Optimization Tips

Hi everyone,

I’m currently working on a project in Unreal Engine, and I’m facing some significant performance issues related to rendering. Specifically, when I have a scene with a large number of assets (like detailed textures and complex materials), the frame rate drops drastically.

I’ve tried various techniques like using LODs (Level of Detail), culling, and tweaking the texture sizes, but I’m still not seeing much improvement.

Here’s a more detailed breakdown of what I’m encountering:

  • Scene consists of high-poly models and high-res textures.
  • I’m using Deferred Rendering, but I’ve noticed some heavy frame drops when lighting is enabled (especially with dynamic lights).
  • The problem seems to be worse when Post Process Effects (like Bloom and Ambient Occlusion) are turned on.
  • I’ve also experimented with Ray Tracing, but that seems to make things worse.

I would really appreciate it if anyone could share some tips or techniques that have helped them optimize rendering in Unreal Engine, particularly when dealing with scenes that are high in asset count and complex materials.

Thanks in advance for your help!

Hi, generally speaking there would be two ways to go about this:

(1) Disable things that use up performance if you don’t need them (i.e. Lumen, Virtual Shadow Maps, Volumentric Clouds, Ray Tracing, Nanite as long as you’re not using very high poly meshes; although Nanite may perform better if you have lots of high poly meshes, so you could try both options and compare). And avoid common performance sinks like lots of shadowed lights and lots of overdraw (foliage).

(2) Get insights into what takes up performance → stat unit to make sure you’re GPU bound, then GPU profiler to get a quick overview and RenderDoc to get an in depth view. Then based on the profiling info, optimize what takes up the most time.

Also to check how much performance those textures and materials take up, you could write a script that executes on BeginPlay and then swaps out all the materials to a simple one.

1 Like