GI: overlap the GI / deferred-lighting chain with graphics work (async compute gives no overlap today) #978

Open
opened 2026-10-23 18:07:41 +00:00 by sky_line · 0 comments
Owner

From the 2026-10-23 GI performance pass. Baseline: RTX 5090, 4K, DLSS Ultra Performance (1280x720 render), GI at full render resolution, GI 3 + cache, ReSTIR DI 3, emissive on: GPU 30.9 ms/frame (GPU-bound), async deferred lighting 20.1 ms, c_gi_trace 12.7 ms (883k rays/frame).

The graphics queue waits about 19.8 ms (g_join_defer) on the async deferred-lighting chain (q_defer_light 20.1 ms), so GI and lighting run in series with everything else.

Options

  • One-frame-latency GI: trace GI for frame N while frame N's graphics continues, and consume the result from N-1. GI is already accumulated over time, so one frame of lag is cheap.
  • Start the GI trace right after the G-buffer, ahead of the other graphics work.

Estimate

Could hide most of the ~10 ms of graphics work behind the chain. Risk low to medium (one frame of GI lag). Effort large.

From the 2026-10-23 GI performance pass. Baseline: RTX 5090, 4K, DLSS Ultra Performance (1280x720 render), GI at full render resolution, GI 3 + cache, ReSTIR DI 3, emissive on: GPU 30.9 ms/frame (GPU-bound), async deferred lighting 20.1 ms, `c_gi_trace` 12.7 ms (883k rays/frame). The graphics queue waits about 19.8 ms (`g_join_defer`) on the async deferred-lighting chain (`q_defer_light` 20.1 ms), so GI and lighting run in series with everything else. ## Options - One-frame-latency GI: trace GI for frame N while frame N's graphics continues, and consume the result from N-1. GI is already accumulated over time, so one frame of lag is cheap. - Start the GI trace right after the G-buffer, ahead of the other graphics work. ## Estimate Could hide most of the ~10 ms of graphics work behind the chain. Risk low to medium (one frame of GI lag). Effort large.
sky_line added this to the Slipstream project 2026-10-23 18:07:41 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
sky_line/Slipstream#978
No description provided.