Technical guide

GPU VRAM Capacity Explained: Textures, Resolution, Ray Tracing, Memory Budgets, and Out-of-VRAM Behavior

Understand what GPU VRAM stores, how textures, render targets, resolution, ray tracing, residency budgets, and paging affect capacity pressure, and why VRAM size alone does not determine performance.

On this page
  1. VRAM is the GPU-local working memory pool, not a performance score
  2. Texture quality changes residency pressure because engines stream different mip levels into memory
  3. Resolution affects some buffers directly, but there is no universal GB-per-resolution rule
  4. Ray tracing adds acceleration structures and scratch storage on top of the rest of the frame
  5. Windows exposes a video-memory budget and current usage, not a simple “VRAM used” truth meter
  6. Exceeding the effective budget can trigger eviction, paging, stalls, or allocation failure
  7. VRAM pressure has overlapping symptoms, so do not diagnose capacity from one stutter or crash
  8. Judge VRAM capacity from the exact workload and evidence, not a universal resolution table

VRAM is the GPU-local working memory pool, not a performance score

A discrete GPU uses video memory for resources that the graphics workload needs close to the GPU: textures and texture mip levels, render targets, depth and other buffers, geometry-related data, shader-visible resources, caches, and other engine-specific allocations. The exact mix changes by game, renderer, scene, quality settings, driver, and API behavior. A capacity number such as 8 GB, 16 GB, or 32 GB therefore describes how much local memory the board provides; it does not by itself describe how fast the GPU can process a frame.

Keep three different questions separate. Capacity asks how much data can remain resident in the local memory pool. Memory bandwidth asks how quickly data can move through the GPU memory subsystem. Shader, raster, ray-tracing, and other compute resources determine how quickly work can be executed. A GPU can have ample capacity and still be too slow for a workload, or have strong compute performance while a particular workload places its local-memory working set under pressure.

Texture quality changes residency pressure because engines stream different mip levels into memory

Modern engines commonly avoid keeping every texture at maximum resolution in memory at all times. Unreal Engine, for example, describes a texture streamer that calculates which mip levels are wanted for the current view, compares that demand with its streaming pool, and loads or drops mip levels according to visibility and priority. Its documentation also notes that texture pools can contain resources beyond ordinary streaming textures, including render targets, cubemaps, UI textures, particle buffers, and vertex buffers on some platforms.

That is why a “texture quality” setting can materially change memory demand without changing the GPU’s physical VRAM. Higher-detail texture packs, mods, larger asset sets, or settings that keep higher-resolution mip levels resident can raise the working set. When the required texture pool exceeds the available streaming pool, an engine may compromise by loading lower-resolution mips, evicting cached data, or increasing data movement. The exact behavior belongs to the game and engine; there is no universal conversion from one texture-quality label to a fixed number of gigabytes.

Resolution affects some buffers directly, but there is no universal GB-per-resolution rule

Rendering at a higher pixel count increases the storage required for resources whose dimensions scale with the render resolution, such as some color targets, depth buffers, G-buffers, history buffers, and other screen-space resources. Epic’s scalability documentation explicitly separates those resolution-scaled costs from other memory consumers such as textures and quality-dependent shadow maps. HDR formats, multiple render targets, temporal history, anti-aliasing, post-processing, upscaling, and engine-specific passes can further change the amount and format of intermediate data.

The important consequence is not that 1080p, 1440p, or 4K maps to one fixed VRAM requirement. A game with aggressive texture streaming can behave differently from a game that keeps a large asset set resident, and two renderers at the same resolution can allocate very different intermediate buffers. Resolution is one contributor to the working set, not a standalone capacity formula.

Ray tracing adds acceleration structures and scratch storage on top of the rest of the frame

DirectX Raytracing exposes explicit memory requirements for acceleration structures. Microsoft’s D3D12 ray-tracing prebuild information reports the maximum result size plus scratch storage required to build or update an acceleration structure. That establishes an important capacity point: ray tracing can require additional GPU-memory allocations for traversal structures and their construction, in addition to the textures, buffers, and render targets already used by the rest of the renderer.

The amount is scene- and implementation-dependent. Geometry count, acceleration-structure layout, update strategy, compaction, engine design, and the exact ray-tracing workload all matter. NVIDIA’s RTX Memory Utility documentation likewise focuses on reducing acceleration-structure memory through compaction and suballocation. Do not convert “ray tracing uses more VRAM” into one universal extra-GB requirement, and do not assume that having enough capacity proves the GPU has enough ray-tracing performance for the target frame rate.

Windows exposes a video-memory budget and current usage, not a simple “VRAM used” truth meter

On modern Direct3D systems, Windows manages a video-memory budget for each process. Microsoft’s DXGI documentation exposes Budget, CurrentUsage, AvailableForReservation, and CurrentReservation through video-memory information queries. The budget can move as other processes wake, sleep, or consume resources, so an application is expected to monitor and adapt to the current budget rather than treat the board’s physical capacity as one permanently exclusive pool.

This is also why a monitoring overlay showing an allocation or usage value should not automatically be read as “the game requires exactly this much VRAM.” Reserved, allocated, resident, cached, and actively useful working data are not interchangeable concepts. A useful diagnosis needs the game’s behavior, the OS budget, the settings, and repeatable performance evidence together rather than one counter in isolation.

Exceeding the effective budget can trigger eviction, paging, stalls, or allocation failure

Microsoft’s Direct3D 12 residency model allows resources to be made resident and evicted as applications manage the memory budget. Microsoft warns that if an application does not remain within its budget, the process may be intermittently frozen so the operating system can service other applications, and resource-creation calls can fail. DXGI also documents that CurrentUsage above Budget can produce stuttering or other performance penalties as the operating system manages memory pressure.

System memory can participate in the broader residency and paging system, but that does not make ordinary RAM equivalent to local VRAM. Moving or faulting resources across the host/device path has different latency and bandwidth characteristics from accessing local graphics memory, and the actual behavior depends on the API, driver, GPU architecture, operating system, and application. “I have plenty of system RAM” is therefore not proof that a workload will behave like it has more dedicated VRAM.

VRAM pressure has overlapping symptoms, so do not diagnose capacity from one stutter or crash

Memory pressure can show up as texture-detail reductions, streaming churn, hitching, large frametime spikes, unusually heavy data movement, or application allocation failures depending on the engine and platform. Those symptoms are not unique to VRAM capacity. Shader compilation, storage stalls, CPU limits, thermal throttling, unstable memory profiles, driver faults, game bugs, or insufficient GPU compute performance can produce superficially similar behavior.

A crash is especially weak evidence by itself. The correct troubleshooting branch is to reproduce the workload, compare settings that materially change memory demand, inspect the game and Windows error evidence, and verify whether the behavior tracks video-memory pressure rather than assuming that any crash near a high usage counter means “out of VRAM.” The gaming-crash troubleshooting guide covers that wider stability workflow.

Judge VRAM capacity from the exact workload and evidence, not a universal resolution table

For a practical decision, start with the exact GPU’s documented memory capacity and the game or application’s current official requirements. Then identify the settings that can change the working set: texture quality and optional high-resolution asset packs, render resolution, ray tracing, mods, and engine-specific features. Prefer like-for-like measurements that disclose the exact GPU, settings, resolution, game version, driver, and monitoring method when comparing capacity behavior.

During your own use, monitor repeatable frametimes and visual behavior together with memory-budget information instead of reading one allocation number in isolation. If lowering a memory-heavy setting consistently removes the problem while other variables remain controlled, that is stronger evidence of capacity or residency pressure than a generic “X GB is enough for Y resolution” rule. Core Tech Tips does not publish a universal VRAM recommendation table here because the evidence is workload-specific and changes with software.

Sources

Primary and technical sources

Technical details can vary by exact model, firmware, and platform. These are the sources used for the factual claims in this article.

  1. 01 Microsoft

    Direct3D 12 residency: video-memory budgets, budget changes, reservations, and behavior when applications exceed their budget
  2. 02 Microsoft

    DXGI video-memory information: Budget, CurrentUsage, AvailableForReservation, and CurrentReservation
  3. 03 Microsoft

    D3D12 MakeResident: explicit GPU residency and paging behavior
  4. 04 Microsoft

    DirectX Raytracing acceleration-structure prebuild information: result and GPU scratch-memory requirements
  5. 05 Epic Games

    Texture streaming configuration: texture-pool behavior, mip residency, and VRAM-limited streaming
  6. 06 Epic Games

    Texture streaming metrics: texture, streaming, wanted, and non-streaming memory pools
  7. 07 Epic Games

    Unreal Engine scalability reference: resolution-scaled GPU-memory resources, textures, G-buffer, depth, and shadow-map costs
  8. 08 NVIDIA

    RTX Memory Utility: reducing ray-tracing acceleration-structure memory through compaction and suballocation

Related