Epic: VRAM pressure redesign -- texture pool absorbs pressure first, RT fits 8 GB cards, no alarming notices #282

Open
opened 2026-10-04 05:59:13 +00:00 by sky_line · 2 comments
Owner

Users are confused by "Graphics card memory is nearly full" notices, and RT shadows drop out on 8 GB cards. Goal: VRAM pressure is absorbed silently, mostly by the texture pool, and RT fits 8 GB cards.

Done (shipped via the #405 budget manager, llvrambudgetvk.cpp)

  • Silent soft ladder: over-demand textures -> off-screen textures -> far textures lose GPU mips first, driven by per-texture renderer demand; global mip bias is a late rung.
  • Ladder order (owner, 2026-10-05) is the spec: probes, mesh LOD, far shadows, far draw distance, RT budget (geometry budget -> avatars out of RT -> RT shadow resolution 3/4, 1/2 -> RT range 64 m) and mirrors come before near textures.
  • Hard step (last resort only): settings lowered + latched, one plain notification each; soft rungs only log.
  • BLAS compaction; recovery hysteresis on the way back up; #164 (RT inside a VRAM-scaled budget) closed.

Remaining: 8 GB fit

  • First-launch defaults by VRAM tier (<= 8 GB: RT shadow mask Half, RT radius 128 m, probes 128 px x 64, BC compression on). No tier code exists today; everyone gets the same defaults.
  • Smaller RT shadow mask: ~10 images incl. RGBA32F depth and several RGBA16F (acc/meta/history x2); move to smaller formats / fewer images. Today only the mask scale drops under pressure.
  • Trim owned pools under pressure: texture staging ring and idle CPU texture copies (only encoder pools are released today).
  • Other apps' VRAM only slowly: osSmoothed drops at once when another app allocates; make the downward reaction gradual too (still fast enough to avoid device-lost).
  • Confirm with an 8 GB user log (VKMem lines) once the above land.

RT geometry memory is tracked separately: #578 (lower-LOD BLAS for distant objects), #579 (drop tiny distant objects from the TLAS), #580 (lower opacity-micromap resolution far away), #581 (compressed / cluster acceleration structures).

Part of #405.

Users are confused by "Graphics card memory is nearly full" notices, and RT shadows drop out on 8 GB cards. Goal: VRAM pressure is absorbed silently, mostly by the texture pool, and RT fits 8 GB cards. ### Done (shipped via the #405 budget manager, `llvrambudgetvk.cpp`) - Silent soft ladder: over-demand textures -> off-screen textures -> far textures lose GPU mips first, driven by per-texture renderer demand; global mip bias is a late rung. - Ladder order (owner, 2026-10-05) is the spec: probes, mesh LOD, far shadows, far draw distance, RT budget (geometry budget -> avatars out of RT -> RT shadow resolution 3/4, 1/2 -> RT range 64 m) and mirrors come **before** near textures. - Hard step (last resort only): settings lowered + latched, one plain notification each; soft rungs only log. - BLAS compaction; recovery hysteresis on the way back up; #164 (RT inside a VRAM-scaled budget) closed. ### Remaining: 8 GB fit - [ ] **First-launch defaults by VRAM tier** (<= 8 GB: RT shadow mask Half, RT radius 128 m, probes 128 px x 64, BC compression on). No tier code exists today; everyone gets the same defaults. - [ ] **Smaller RT shadow mask**: ~10 images incl. RGBA32F depth and several RGBA16F (acc/meta/history x2); move to smaller formats / fewer images. Today only the mask scale drops under pressure. - [ ] **Trim owned pools under pressure**: texture staging ring and idle CPU texture copies (only encoder pools are released today). - [ ] **Other apps' VRAM only slowly**: `osSmoothed` drops at once when another app allocates; make the downward reaction gradual too (still fast enough to avoid device-lost). - [ ] Confirm with an 8 GB user log (VKMem lines) once the above land. RT geometry memory is tracked separately: #578 (lower-LOD BLAS for distant objects), #579 (drop tiny distant objects from the TLAS), #580 (lower opacity-micromap resolution far away), #581 (compressed / cluster acceleration structures). Part of #405.
Author
Owner

Part of #405 (RAM/VRAM management epic).

Part of #405 (RAM/VRAM management epic).
sky_line added this to the Slipstream project 2026-10-06 15:04:14 +00:00
Author
Owner

Rewritten to match current state: Phase 1 shipped via the #405 budget manager (with the owner's 2026-10-05 ladder order as the spec); what remains is the 8 GB-fit list.

Rewritten to match current state: Phase 1 shipped via the #405 budget manager (with the owner's 2026-10-05 ladder order as the spec); what remains is the 8 GB-fit list.
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.

Reference
sky_line/Slipstream#282
No description provided.