Technical guide

Dynamic Resolution Scaling in PC Games Explained

Understand dynamic resolution scaling in PC games: how render resolution changes to manage GPU frame time, how it differs from fixed render scale and upscaling, and why image quality and performance vary.

On this page
  1. Dynamic resolution changes rendering resolution while the game is running
  2. Screen percentage affects pixel count in two dimensions
  3. The controller is trying to manage frame time, not maximize resolution blindly
  4. Dynamic resolution and temporal upscaling solve different parts of the pipeline
  5. Lower internal resolution does not make every pass cheaper
  6. CPU-bound scenes expose the limit of the technique
  7. Image quality depends on the floor, reconstruction method, scene and motion
  8. Dynamic resolution is a workload-control mechanism, not a performance guarantee

Dynamic resolution changes rendering resolution while the game is running

Dynamic Resolution Scaling, often shortened to DRS or dynamic resolution, lets a renderer change the resolution of selected rendering work while the game is running. The usual goal is to reduce GPU workload when the renderer is in danger of missing a frame-time budget, then raise resolution again when more GPU headroom becomes available.

Epic describes Unreal Engine dynamic resolution as adjusting primary screen percentage according to GPU workload within configured limits. Unity describes the same core idea as dynamically scaling render targets to reduce GPU workload. The display can remain at the same output mode throughout: a 3840×2160 monitor signal does not have to switch modes every time the game changes its internal rendering resolution.

Resolution controls that are easy to confuse
ControlWhat changesDoes it have to change during play?
Output/display resolutionThe final display mode or output image sizeNo
Fixed render scale / screen percentageInternal rendering resolution relative to an output targetNo
Dynamic resolutionInternal rendering resolution is adjusted at runtime within a policy or rangeYes, by definition
Upscaling / reconstructionTransforms a lower-resolution input toward a higher-resolution outputNo; it can operate with fixed or dynamic input resolution

Screen percentage affects pixel count in two dimensions

A percentage is easy to misread as a direct percentage of pixel count. In Unreal Engine, primary screen percentage scales both horizontal and vertical dimensions, so the number of rendered pixels changes approximately with the square of that percentage. A 50% screen percentage means roughly half the width and half the height, or about one quarter as many pixels for resolution-dependent work—not half as many pixels.

That relationship explains why relatively modest changes in linear resolution can materially alter some GPU costs. It still does not imply a matching frame-rate gain. Geometry, CPU simulation, draw submission, some compute work, ray-tracing work, memory behavior, post-processing and other passes can scale differently or not scale with primary rendering resolution at all.

The controller is trying to manage frame time, not maximize resolution blindly

A dynamic-resolution system needs a policy for deciding when to move resolution up or down. Epic exposes a frame-time budget, GPU-headroom target, a minimum change threshold, a minimum interval between changes and a history window for its Unreal Engine heuristic. Those controls exist because measured GPU time is noisy and an overly reactive controller can oscillate between nearby resolutions.

Sudden expensive events are another problem. Unreal Engine documents an over-budget panic path for cases such as a camera cut or unexpectedly expensive effect, where historical measurements cannot predict the spike in advance. This is why dynamic resolution should be understood as a feedback mechanism around rendering workload rather than a fixed graphics preset.

Dynamic resolution and temporal upscaling solve different parts of the pipeline

Dynamic resolution decides how large the internal rendering workload should be at a given moment. An upscaler decides how a lower-resolution image is converted or reconstructed toward the requested output resolution. The two techniques can therefore be used together: dynamic resolution varies the input resolution, while a spatial or temporal upscaler produces the output-sized image.

Epic separates primary screen percentage from the later upscaling stages in Unreal Engine and documents Temporal Super Resolution as an upscaler that can work with screen-percentage inputs. A game can also use a fixed render scale with an upscaler, or dynamic resolution with another reconstruction method. Seeing “dynamic resolution” in a menu does not identify the upscaling algorithm by itself.

Lower internal resolution does not make every pass cheaper

Resolution scaling most directly helps work whose cost grows with the number of pixels or scaled render-target samples being processed. Unity’s current ScalableBufferManager documentation describes dynamically scalable render textures in terms of width and height scale factors, making the affected buffer dimensions explicit.

Other work can remain tied to output resolution, use a different internal resolution, or be largely independent of pixel count. Epic notes, for example, that part of TSR processing is performed at a higher display resolution than the rendering resolution. This is one reason a reduction in internal pixel count should never be converted into an invented percentage FPS gain.

CPU-bound scenes expose the limit of the technique

If the GPU is the limiting part of the frame and resolution-dependent rendering is expensive, reducing internal resolution can create useful GPU headroom. If the frame is instead limited by CPU simulation, game-thread work, rendering-thread submission or another bottleneck that resolution scaling does not relieve, lowering resolution may do little for total frame time.

Epic’s Unreal Engine documentation explicitly exposes game-thread, rendering-thread and GPU timings alongside dynamic-resolution information, and even provides a separate CPU-bound screen-percentage policy. For players, that means a changing render scale is not proof that every slowdown is GPU-limited, and a fixed low scale is not a cure for CPU-limited stutter.

Image quality depends on the floor, reconstruction method, scene and motion

Dropping internal resolution gives later stages less spatial information to work with. Epic specifically recommends testing content across the low and high screen percentages that a project will use because detail can be lost at lower resolutions. Temporal reconstruction can recover substantial detail from multiple frames, but its result still depends on motion vectors, history, disocclusion, transparency, fine geometry and the implementation used by the game.

A useful evaluation therefore records the output resolution, the dynamic-resolution range or observed internal scale, the upscaling method and quality mode, and the scene being tested. Comparing one title at a fixed native resolution with another title using a variable internal resolution without noting those conditions mixes different rendering workloads.

Dynamic resolution is a workload-control mechanism, not a performance guarantee

The clean mental model is a feedback loop: the renderer observes performance, chooses an internal resolution allowed by its policy, renders resolution-dependent work at that scale, and then produces the requested output image. The display mode, internal render scale and reconstruction stage remain separate concepts even when a game hides them behind one graphics option.

That separation also explains why there is no universal “best” dynamic-resolution range. A sensible floor depends on the output resolution, reconstruction technique, visual content, target frame-time policy and the costs of the rest of the renderer. Engine documentation can explain the mechanism; only measurements from the actual game and settings can establish its performance and image-quality tradeoffs.

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 Epic Games

    Dynamic Resolution in Unreal Engine: frame-time budgets, screen percentage, GPU timing and heuristic behavior
  2. 02 Epic Games

    Anti-Aliasing and Upscaling in Unreal Engine: screen percentage and Temporal Super Resolution behavior
  3. 03 Unity Technologies

    ScalableBufferManager: dynamic width and height scaling of render textures

Related

Technical guide

16 GB vs 32 GB vs 64 GB RAM for Gaming PCs

Choose 16 GB, 32 GB, or 64 GB of system RAM for a gaming PC by measuring the games and simultaneous workloads you actually run instead of relying on a universal capacity rule.