Debugging Tips
Compile all blueprints
sh
- "Engine\Binaries\Win64\UnrealEditor-cmd.exe -run=CompileAllBlueprints"
- Add this to print to text file ">F:\MyLog.txt | type F:\MyLog.txt"Shadow cache stats
sh
- r.ShaderPrint 1 & r.Shadow.VirtualShowStats 2Activate the VSYNC
Prevents tearing of the image but costs fps and causes input latency.
sh
r.VSync = 0Enabling Dynamic Resolution
https://docs.unrealengine.com/4.27/en-US/RenderingAndGraphics/DynamicResolution/ Dynamic Resolution adjusts the primary screen percentage according to the previous frames' GPU workload. The resolution adjusts (as needed) based on a heuristic, for example, when there are too many objects on the screen, or if there is an expensive effect that suddenly enters the frame. The GPU rendering time will increase, and the resolution of the screen will be lowered to maintain the targeted frame rate. At Runtime
cpp
GEngine->GetDynamicResolutionStatus()->SetEnabled(true);Controlling Dynamic Resolution With Operation Mode
sh
r.DynamicRes.OperationModeDisable WPO invalidating shadow cache
sh
- Global: r.Shadow.Virtual.Cache.MaxMaterialPositionInvalidationRange
- Per foliage instance: Foliage Mode-> Instance Settings -> World Position Offset Disable DistanceDraw mesh bounds causing cache invalidations
sh
- r.Shadow.Virtual.Cache.DeformableMeshesInvalidate 1Handy visualization modes
sh
- ViewMode -> Nanite Visualization -> Evaluate WPO
- ViewMode -> Virtual Shadow Map -> Cached Page
- Show -> Visualize -> Draw Only Geometry Causing VSM Invalidation