How can I fake shadows at a distance to help performance

My FPS drops from mid 50s to about 12 when the camera is surrounded by my foliage, and it appears the issue is with ShadowDepths => Atlas 6144x2048 (whatever that means).

I have already turned off shadows on all my smaller foliage but the majority of it are trees which should really have shadows. I also have a day/night cycle so I can’t get baked or anything like that. I am wondering is there any way to cheat my shadows so save on processing power?

I was thinking maybe how you can make custom collision, maybe I could just make a simple cylinder to use for the shadows and use that with my LODs, so when you are farther away the shadow gets simpler and easier to render.
I don’t even know if that is possible, but in my mind that sounds like it would work (if I knew how to do it) and if it isn’t even possible I’m open to suggestions.

Thanks

What version of UE are you using and what system(s) are you currently using to light your scene?

If processing power is the issue, you are either doing things wrong (like using unreal when you should be using something that cares about performance) or mistaken.
GPU costs are where shadows and all rendering is grouped in.

No. There’s nothing below Cascade as far as performance goes - which allows to preserve motion from foliage wind.

If you aren’t currently running ray traced or lumen by mistake, then there is very little you can do.

“Simple” shadows like you explained are still going to cost just about as much as detailed ones (made with alpha transparency so the cost is minimal).

As far as your idea goes, that isn’t the way to render shadows “cheaper”…

To do that you want, you have to use Distance Fields.

Distance Field Shadows are faster to compute (and render) because they are based on the precomputed distance field geometry.

They are normally enabled by default, but if you find that the lowest possible level of cascade is still more costly than your deployment system allows for, you can reduce the distance where Cadcade becomes the Distance Field shadow to limit the GPU cost of shadows within your scene (useful for stuff like a switch maybe).

For a 1080ti at 4k, a distance of about 25m for cascade is all you can afford to keep the frames (per second) constantly above 45.

Distance field shadows won’t animate with wind or vertex distortion (hence why they dont really count as “shadows” above).

What contributes more to bad performance is drawcall count.

Consolidating your level by merging groups of actors (even foliage) is likely going to be more beneficial overall than messing too much with the shadows or render settings.

Other things that have hidden costs are foliage settings that get the foliage mesh to affect lighting.

Another way to gain a bit of performance back - particularly with foliage - is to set Precompute Aplha Transparency.

There’s a lot to it all other than shadows, and to learn or analyze it. You really have to start using the engine’s (flawed but still useful) Stat information.

Bench your performance, drill down into what costs the most. From that, you can likely ask in the forums for precise solutions to the extra cost(s).

The catchall solution I can give you for performance at 4k with Ray Tracing is to use Cryengine instead… :stuck_out_tongue:

1 Like