Download

ShadowDepths atlas resolution?

Hello! So I have found through the GPU visualizer that the main culprit of my scene’s poor performance is Shadow Depths atlas rendering. (14ms!)

This is essentially the dynamic shadows from my directional light and since I have a day and night cycle, I need this.

However, I don’t really need the shadows to be all that crisp, in fact, blurred shadows would look much better. How do I lower the resolution dynamic shadows?
Cascaded shadow maps are my main dynamic shadows. But reducing it to 1 still renders 7 2040x2040 resolution shadows each frame.

How do I reduce it to something like 512x512?

Edit: I tried setting r.Shadow.MaxResolution to something like 256x256, but it only seems to affects dymanic shadows from things like point lights, not the directional light’s cascaded shadow map resolution.

Edit2: The setting I was looking for was r.Shadow.MaxCSMResolution !

How do I save these settings and ensure the packaged game looks the same?

If you don’t need scalability, you could set that option at the begin play of your game mode/game instance, for example.

It’s probably best to adjust the shadow settings on the light itself first before setting console commands, as many of those commands are linked to the main scalability commands (sg.ShadowQuality in this case)

If after adjusting the max cascades etc still isn’t enough, it’s best to set those custom settings after scalability has been set. We do this with a custom GameUserSettings class, which runs a custom “clamping” operation on many console commands after applying graphics settings. E.g:



virtual void ApplyNonResolutionSettings() override
{
    Super::ApplyNonResolutionSettings();
   
    SetCustomConsoleCommands();
}


Thanks! Something like this will probably do the trick in my case!