UE 5.8.2 — Severe GPU Residency Stalls During World Partition Distance-Field Buffer Resizing

Summary

In Unreal Engine 5.8.2, streaming dense World Partition foliage causes severe frame hitches associated with distance-field object-buffer replacement and GPU residency synchronization.

The distance-field Data/Bounds buffers change between 1,664 MiB and 3,328 MiB when the active object population crosses a power-of-two capacity threshold. Temporary replacement allocations can overlap at approximately 4,992 MiB.

GPU captures reproduced residency-fence waits exceeding one second, correlated with long occlusion-query waits. The problem occurs during repeated forward/return traversal, including standalone testing.

We are using an RTX 5080 (16 GB VRAM) at 5120×1440. Existing measurements show insufficient conservative VRAM headroom for simply retaining larger buffers.

We would appreciate Epic’s guidance on whether this is a known issue, whether a supported correction exists, and whether the UE 5.8.3 D3D12 synchronization change (UE-387332) addresses this particular resource-retirement and residency path.

What Type of Bug are you experiencing?

Rendering (Graphics / Niagara)

Steps to Reproduce

  1. Open a dense, foliage-heavy World Partition level in Unreal Engine 5.8.2 using DirectX 12 with distance-field lighting enabled.
  2. Run the level in standalone mode at 5120×1440 on an RTX 5080 (16 GB VRAM).
  3. Traverse between World Partition cells containing large numbers of distance-field-enabled foliage instances.
  4. Repeat forward and return traversal across the same cell boundaries.
  5. Observe frame times and GPU residency synchronization while distance-field object counts cross the 8,388,608-slot capacity threshold.
  6. In the affected project, the combined distance-field object buffers resize between 1,664 MiB and 3,328 MiB, correlating with severe frame hitches.

Note: This is a project-specific reproduction procedure, not a verified minimal reproduction project.

Expected Result

World Partition streaming should update distance-field resources without causing severe gameplay freezes. Buffer growth, contraction and deferred retirement should avoid excessive GPU residency/synchronization stalls during normal traversal.

Observed Result

Repeated traversal produces severe frame hitches associated with distance-field object-buffer replacement.

Captured examples include a 1,230 ms occlusion-query wait and a linked 1,154 ms residency-fence wait. These durations overlap and must not be added together.

On a separate return transition, a 231.12 ms frame included a 223.00 ms occlusion-query wait and a linked 171.94 ms residency-fence wait.

The buffer capacity oscillates between 1,664 MiB and 3,328 MiB, with temporary allocation overlap reaching 4,992 MiB.

The underlying Windows/NVIDIA synchronization cause remains unresolved. No VRAM-exhaustion warning was required to reproduce the stalls.

Affects Versions

5.8

Platform(s)

Windows

Additional Notes

Additional technical findings:

  • Engine: Unreal Engine 5.8.2, CL 56702186, DirectX 12.
  • Hardware: NVIDIA RTX 5080, 16 GB VRAM.
  • Distance-field object-buffer allocation uses power-of-two capacity sizing.
  • The observed transition crosses the 8,388,608-slot threshold, causing replacement allocations.
  • The issue occurs in standalone execution as well as PIE.
  • The relevant allocation path appears unchanged between official UE 5.8.2 and 5.8.3 source.

We identified UE-387332 (CL 57782924), a UE 5.8.3 D3D12 synchronization correction involving deletion-queue backpressure and residency-set handling. Its applicability to this issue remains unproven.

We would appreciate guidance on whether Epic has a supported workaround or correction for distance-field object-buffer replacement/retirement stalls, and whether UE-387332 is relevant.

Detailed diagnostic measurements and source references are available if needed.