dennisat, on 16 October 2016 - 11:44 PM, said:
DynamicShadows = (user set) True
ShadowAllShapes = (user set) True
ShadowMapBlur = (user set) False
ShadowMapCount = (user set) 1
ShadowMapDistance = (user set) 1000
ShadowMapResolution = (user set) 4096
A rough idea of what each of these will do to performance:
- DynamicShadows: enabled lowers performance, but improves visuals
- ShadowAllShapes: enabled lowers performance, and occasionally has weird shadows-from-apparently-nothing artefacts (content-dependent)
- ShadowMapBlur: enabled lowers performance, but improves visual quality of shadows when shadow map resolution is low
- ShadowMapCount: higher lowers performance, but improves visual quality of shadows
- ShadowMapDistance: higher lowers performance, and degrades visual quality of shadows
- ShadowMapResolution: higher increases memory usage, but improves visual quality of shadows
You get the best nearby shadow visuals with DynamicShadows and ShadowAllShapes enabled, ShadowMapBlur disabled, ShadowMapCount at 4 (the max), ShadowMapDistance at a low distance (e.g. 500), and ShadowMapResolution as high as you can accept (it just consumes performance and lots of GPU RAM).
From there, you can increase ShadowMapDistance to get better shadows further away, and/or reduce ShadowMapResolution to get better performance. Just remember to turn ShadowMapBlur on if the resolution is low enough to cause saw-tooth edges.
I wouldn't normally consider lowering ShadowMapCount, but it will considerably improve performance at the cost of shadow quality. If ShadowMapDistance is low enough and ShadowMapResolution is high enough, that won't be a problem though.
The performance cost of ShadowAllShapes is very content-dependent, unlike most other options, as it switches between everything casting shadows to everything
the content creator decided should cast shadows.