-
Notifications
You must be signed in to change notification settings - Fork 0
perf: virtual texturing / sampler feedback streaming #140
Copy link
Copy link
Open
Labels
P3-lowNiedrige Priorität / Nice-to-haveNiedrige Priorität / Nice-to-havearea:renderingRenderer, Lichter, Schatten, Post-FX, ShaderRenderer, Lichter, Schatten, Post-FX, Shadersize:XLMehrere Wochen / Epic aufteilenMehrere Wochen / Epic aufteilentype:perfPerformance-Arbeit (FPS, Speicher, Ladezeiten)Performance-Arbeit (FPS, Speicher, Ladezeiten)
Milestone
Description
Metadata
Metadata
Assignees
Labels
P3-lowNiedrige Priorität / Nice-to-haveNiedrige Priorität / Nice-to-havearea:renderingRenderer, Lichter, Schatten, Post-FX, ShaderRenderer, Lichter, Schatten, Post-FX, Shadersize:XLMehrere Wochen / Epic aufteilenMehrere Wochen / Epic aufteilentype:perfPerformance-Arbeit (FPS, Speicher, Ladezeiten)Performance-Arbeit (FPS, Speicher, Ladezeiten)
Context
Verified gap: every texture keeps its full mip stack resident — "single full-res mip stack per texture, all resident. No sparse virt-tex feedback or resident-set streaming", and no Sampler Feedback Maps (perf gap analysis;
Engine/Graphics/Resources/ResourceRegistry.h,TextureImporter). Big horror environments with 4K PBR sets (the ambientCG store integration auto-builds full map sets) will blow past VRAM long before geometry does. v3.4's async asset streaming handles whole-asset residency; this issue makes texel residency demand-driven.Goal
Implement virtual texturing: tile-based (reserved/sparse resource) texture storage where only the tiles actually sampled — discovered via DX12 Sampler Feedback or a shader-written feedback buffer — are resident, giving effectively unlimited texture worlds on fixed VRAM.
Acceptance Criteria
standard.hlslTechnical Notes
P3 and last in sequence — explicitly after v3.4 async asset streaming. Check
D3D12_FEATURE_SAMPLER_FEEDBACKtier; feedback-buffer fallback keeps GTX-class GPUs working. Bindless heap makes the indirection/page-table binding trivial.Dependencies