Unreal Engine

How to Increase FPS in Unreal Engine 5

How to push Unreal Engine 5 past 1000 FPS, even on an integrated GPU: turn off Lumen and Nanite, use the Mobile or DX11 Forward renderer, use lightmaps.

Trying the Mobile renderer in Unreal Engine 5

The other day I had the luck to come across a really good article about Unreal performance by Daft Software.

It talks about disabling Unreal features and using the Mobile renderer on PC to improve performance. I had already been testing DX11 instead of DX12 for my small games due to potential instabilities, so I decided to try it out.

Yup, that’s 1005 FPS

Use Lightmaps Without Lumen, Nanite or Virtual Shadow Maps

In my case, I want to use lightmaps in my games, so I tweaked a little bit the settings to be able to use both lightmaps and some other features I like, but I’m liking the improvements.

This, of course, comes with some big limitations.

Say goodbye to Lumen, Nanite, Virtual Shadow Maps and all those other fancy rendering features. If its new and shiny, its out of the question.

Leaving those out is what gives us the performance improvement here.

One limitation of using the forward renderer, however, is the lack of screen space effects. In this case, what is more notable to me are the screen space reflections, which are completely missing from the forward renderer, so that might be a limitation to you.

Can this run on Integrated GPUs?

I did the first test on my laptop GPU, but then I got curious, how would a scene using this settings run on the integrated graphics card of the CPU?

To my surprise, being able to run at 244 FPS on an integrated GPU is something I would love. And that’s rendering at 2560×1600!

That being said, one of the limitations of the Mobile Renderer is that it does not support Indirect Capsule Shadows, and that’s a pity, as those make dynamic characters in a lightmap based scene really feel grounded.

Performance Comparison: D3D Mobile vs DX11 Forward

So here is what the same scene looks like using both Mobile Renderer and using instead the DX11 Forward renderer with Capsule Indirect Shadows. Both on the Integrated GPU.

Mobile D3D

DX11 + Forward

As you can see, there is a big drop in performance, but those indirect capsule shadows really ground the scene, and hey, 161 FPS on an integrated GPU at high res is a compromise I’m willing to take.

I still need to experiment more. These results make me want to keep trying the different renderers.

Thanks to the Original Article

Here is the article if you want to take a look at it, it’s written by a very talented person, so give them lots of love:

https://blog.daftsoftware.com/unreal-perf-maxing/#ok-so-how-much-faster-is-it

FPS Benchmarks by Renderer and GPU

These numbers come from controlled test scenes. A running game also spends time on gameplay, AI, physics, particles, animation and streaming, so treat the figures as the ceiling for this setup. They are not the frame rate to expect in a shipping game. Your art direction also needs to work without Lumen or Nanite.

If you are interested, here is the full comparison of settings which means:

  • Discreet vs Mobile GPU
  • D3DMobile vs DX11 Deferred vs DX11 Forward

Discreet GPU Graphics Scene 01

Discreet D3D Mobile

Discreet DX11 Deferred

Discreet DX11 Forward

Integrated GPU Graphics Scene 01

Integrated D3D Mobile

Integrated DX11 Deferred

Integrated DX11 Forward

Discreet GPU Graphics Scene 02

Discreet D3D Mobile

Discreet DX11 Deferred

Discreet DX11 Forward

Integrated GPU Graphics Scene 02

Integrated D3D Mobile

Integrated DX11 Deferred

Integrated DX11 Forward

All these tests ran at 2560x1600, so lower resolutions will run faster still. Even on the integrated card, disabling the newer rendering features made a big difference. The question for your project is whether you can turn them off and still get the look you need.

Recap

Disabling Lumen, Nanite and Virtual Shadow Maps, and using baked lightmaps, gave the largest gains. D3D Mobile was the fastest renderer in these tests. DX11 also tended to be steadier than DX12 for these small projects.

For the look I wanted, the trade-off was shadows. Forward rendering loses screen space effects, including reflections, and Mobile does not support Indirect Capsule Shadows. DX11 + Forward restores those capsule shadows, but at a lower frame rate.

Keep reading

Dashes and Knockbacks with Root Motion Sources

Dashes and Knockbacks with Root Motion Sources

No root motion in the clip. The task builds the motion from plain numbers and hands it to the movement component, the animation is just cosmetic.
PlayMontageAndWait in GAS: Montage Replication

PlayMontageAndWait in GAS: Montage Replication

Montage_Play works on your screen and nowhere else. The ASC is the one that tells everybody else.
How Enemies Decide to Dodge

How Enemies Decide to Dodge

Dodge chance is a GAS attribute, pressure is a stacking effect on top of it, and the AI simply rolls dice.