
Optimizing Grounded 2
April 2025
An inversion of scale

Identifying Performance Issues - HLODs & Memory
This is a studio performance engagement as a part of the XBOX Games Technology Group. My role in this studio performance engagement is to investigate hitches, draw calls, and memory and provide any avenues of optimization in these areas.
Obsidian had requested advice on HLOD settings for their project. From a memory and visual quality perspective I suggested:
HLOD 0 to contain instanced static meshes and stream in and out.
HLOD 1 to be Mesh Approximated Nanite and does not stream
8K Albedo
1K Normal Maps

Identifying Performance Issues - Hitches & Draw Calls
In their PIX captures, I saw that USkeletalMeshComponent_CompleteParallelAnimationEvaluation function was running back to back on the game thread. I then suggested that these could be run in parallel to smooth out the performance.
For draw calls, there were meshes that were not visible but still took up memory and draw calls. These appear to be invisible shadow casters even when characters attached were not visible on screen. I called these out as possible areas to look into.
My contributions are but a small portion of the team’s larger feedback for Obsidian. It was very interesting to see the unique challenges for the game such as translucency on grass blades being something that can’t be optimized due to how small the playable characters were.