DirectX 12 Ultimate Sampler Feedback Streaming

Sampler Feedback Streaming in DirectX 12 Ultimate is a hardware-accelerated technique that allows games to intelligently load only the exact portions of high-resolution textures required for a given scene. By tracking precisely which texture regions and mip levels the GPU accesses during rendering, this technology eliminates VRAM waste, prevents frame rate stutter caused by asset loading, and enables games to display vast, detailed worlds using significantly less video memory.

Solving the VRAM and Bandwidth Bottleneck

In conventional graphics pipelines, engines load entire texture files or complete mip-map levels into VRAM, even if a camera only sees a tiny fraction of an object. This brute-force approach leads to heavy memory consumption, unnecessary bandwidth usage between storage and video memory, and noticeable asset pop-in.

Sampler Feedback Streaming solves this by operating at a sub-resource level. Instead of assuming what needs to be loaded, the GPU captures real-time data about which exact texels (texture pixels) and mip levels are sampled by shaders, enabling fine-grained streaming.

How Sampler Feedback Streaming Works

The mechanism functions through a closed loop between the GPU and the game engine:

  1. Feedback Maps: The GPU outputs a lightweight capture map—a small footprint resource that records which tiles of a texture were accessed during the render pass.
  2. Minification Tracking: The feedback map tracks the exact mip levels requested per region, flagging whether an object is in the foreground (requiring full resolution) or in the background (requiring low resolution).
  3. Targeted Streaming: The engine reads this feedback map asynchronously and requests only the missing, high-priority texture tiles from system memory or SSD storage.
  4. Tiled Resources Binding: Working alongside DirectX 12 Tiled Resources, the engine binds the newly fetched sub-tiles directly into the virtual texture address space without allocating contiguous memory for the full asset.

Primary Use Cases and Benefits

  • Texture Memory Reduction: Games can allocate vast virtual texture spaces (such as 16K or 32K virtual textures) while only keeping active tiles in VRAM. This can reduce runtime texture memory footprints by up to 80% to 90%.
  • Elimination of Hitching and Stutters: Because the I/O system only fetches small, necessary data packets rather than monolithic multi-megabyte mip chains, I/O bottlenecks are minimized, leading to more stable frame delivery.
  • Texture Space Shading (TSS): Beyond simple asset streaming, sampler feedback enables shading reuse. The engine can shade an object's surface in texture space, store the result, and use feedback maps to identify only the modified or visible areas that require re-computation in subsequent frames.
  • Higher Visual Fidelity on Standard Hardware: Developers can author cinematic-quality surfaces across expansive environments without exceeding the VRAM budgets of mid-range GPUs or current-generation consoles.