How Adaptive-Sync Modifies Vertical Blanking
DisplayPort Adaptive-Sync eliminates screen tearing and stuttering by dynamically matching a monitor's refresh rate to a graphics processing unit's (GPU) fluctuating frame output. Instead of relying on a rigid, fixed timing standard, the protocol operates by dynamically stretching or compressing the duration of the vertical blanking interval (VBLANK) between consecutively rendered frames, effectively holding the display in an idle state until a new frame is ready to be drawn.
Fixed Video Timings vs. Variable Timings
In traditional fixed-refresh-rate displays, every frame consists of active pixel data followed by two blanking periods: the horizontal blanking interval (HBLANK) and the vertical blanking interval (VBLANK). VBLANK is composed of three distinct sub-phases:
- Vertical Front Porch (VFP): The pause between the end of the active frame drawing and the sync pulse.
- Vertical Sync (VSync): The synchronization pulse signaling the display hardware to return to the top-left corner.
- Vertical Back Porch (VBP): The stabilizing period after the sync pulse before the next active frame lines begin.
In a static 60Hz or 144Hz setup, the total vertical lines (\(V_{\text{total}} = V_{\text{active}} + V_{\text{blank}}\)) and the pixel clock are strictly fixed. The monitor refreshes at rigid, predetermined time intervals regardless of whether the GPU has finished rendering a new frame.
The Mechanism of Dynamic VBLANK Extension
DisplayPort Adaptive-Sync alters this process without changing the active pixel clock or the horizontal line timing. When an active frame finishes scanning out to the panel, the dynamic adjustment takes place exclusively within the Vertical Front Porch (VFP) of the VBLANK:
- Active Scan-Out: The GPU scans out the active pixels at a constant, maximum pixel clock rate, ensuring that the physical rendering across the panel occurs at full speed to prevent motion artifacts.
- Entering the Extended Front Porch: Once the last line of active video is drawn, the transmission enters the vertical front porch. Under Adaptive-Sync, this phase does not have a static, predetermined duration.
- Holding the Panel: The GPU holds the display link in this front porch state, keeping the current image displayed on the panel's pixels while waiting for the next frame buffer swap.
- Triggering Frame Dispatch: The moment the GPU finishes rendering the next frame, it terminates the extended front porch and immediately sends the vertical synchronization signal, moves through a minimal back porch, and begins scanning out the new frame's active lines.
By varying the number of blank lines in the front porch on a frame-by-frame basis, the total vertical frame time scales proportionally to the GPU's render time.
Hardware Constraints and Low Framerate Compensation
Because display panels rely on capacitive charge retention to keep individual pixels illuminated, the vertical blanking interval cannot be extended indefinitely. If the front porch lasts too long, pixel charge leaks, resulting in visible brightness fluctuations known as flicker.
To prevent this, Adaptive-Sync defines a minimum and maximum vertical refresh rate (for example, 48Hz to 144Hz):
- Maximum Refresh Rate (Shortest VBLANK): If the GPU renders a frame faster than the monitor’s ceiling, VBLANK shrinks to its hardware-defined minimum, capping the frame rate to prevent overrun unless unconstrained V-Sync is disabled.
- Minimum Refresh Rate (Longest VBLANK): If the GPU fails to finish rendering a frame before the maximum allowable VBLANK duration expires, the display controller terminates the wait cycle and forces a refresh using the previous frame to prevent panel discharge.
- Low Framerate Compensation (LFC): When frame rates fall below the dynamic range floor, the display driver duplicates frames (e.g., displaying a 30 FPS render twice at 60Hz), mathematically maintaining the dynamic VBLANK mechanism within the hardware's supported timing limits.