In this lesson, you will learn how to configure dynamic resolution to automatically adjust your rendering scale, ensuring your game maintains a consistent framerate during intense visual sequences.
The Concept of Dynamic Resolution
When your GPU hits a performance bottleneck—such as during a complex scene with heavy volumetric fog or high Nanite draw calls—your framerate begins to drop. Instead of suffering through stuttering, Dynamic Resolution Scaling (DRS) allows the engine to lower the internal rendering resolution while maintaining the native resolution for UI elements. Once the GPU load lightens, the engine scales the rendering resolution back up, keeping your visual fidelity as high as possible while preserving your frame budget.
Configuring the System
To implement this, you first need to enable the feature in your project settings. Navigate to Project Settings > Rendering > Dynamic Resolution and toggle Enable Dynamic Resolution.
Once enabled, you define your target framerate using the console command r.DynamicRes.FrameTimeBudget. For a solid 60 FPS, you would set this to 16.6 milliseconds:
r.DynamicRes.FrameTimeBudget 16.6
The engine tracks the GPU frame time from your previous frames. If the frame time consistently exceeds 16.6ms, the internal ScreenPercentage will automatically decrease. You can observe these changes in real-time by using the following console command:
r.DynamicRes.Stats 1
Pairing with Temporal Upscaling
Dynamic resolution works best when paired with Temporal Upscaling (TSR or DLSS/FSR). Because the game renders at a lower resolution during high-load moments, temporal upscaling uses information from previous frames to "reconstruct" the image, filling in the missing pixels. This prevents the image from looking blurry or pixelated when the scaling drops. Ensure your project is using a modern temporal anti-aliasing method in the Rendering settings to get the best quality results from these resolution shifts.
By combining these techniques, you ensure that the game remains playable even when the environment becomes visually demanding, effectively masking the technical strain from the player.
Key Takeaway: Dynamic Resolution scaling dynamically adjusts the internal render buffer based on your frame time budget, allowing temporal upscaling to maintain image clarity while ensuring your game never dips below your target framerate.