If you connect your PC or laptop to a 120Hz, 144Hz, or 240Hz gaming monitor, you expect fast-paced browser shooters and rhythm games to render with buttery-smooth motion. Yet, when monitoring frame rates, you frequently discover the game is stubbornly locked to exactly 60.0 FPS.
This limitation is not always imposed by the game itself. By default, Chromium’s rendering compositor enforces a 60Hz presentation interval unless specific operating system display sync parameters and browser flags are properly aligned.
Here is how to unlock true high-refresh-rate WebGL rendering in Google Chrome, Microsoft Edge, and Brave.
1. Why Browsers Default to 60 FPS
The browser’s animation loop is driven by the window.requestAnimationFrame() (rAF) API. In theory, rAF aligns with the vertical refresh rate of your active monitor. However, two common issues cap it at 60Hz:
- Dual Monitor Refresh Rate Mismatch: If you have a 144Hz primary monitor and a 60Hz secondary monitor, Windows and Chromium often lock the compositor clock to the lowest common denominator (60Hz) to prevent rendering desynchronization across windows.
- Chromium Frame Rate Limiter: Certain versions of Chromium disable high-frequency presentation timers when running on battery power or when hardware acceleration flags encounter specific driver versions.
2. Step 1: Verify Windows Display Refresh Rate
Before tweaking browser flags, verify that Windows is actually sending a 144Hz signal to your screen:
- Right-click your desktop and select Display settings.
- Click Advanced display.
- Under Display information, check the Choose a refresh rate dropdown.
- Ensure it is set to 144 Hz (or your monitor’s maximum rated speed), not 60 Hz.
3. Step 2: Configure Chromium Flags to Unlock High Frame Rates
To force the browser compositor to match your high-refresh display:
1. Disable Frame Rate Limits
- Open Chrome and navigate to:
chrome://flags/#disable-frame-rate-limit - Set this flag to Enabled.
- Relaunch the browser. This allows
requestAnimationFrameto fire as fast as your monitor refreshes without clamping at 60 FPS.
2. Enable Direct3D11 Video Processor Overlays
- In the flags search bar, search for:
#enable-direct-composition-video-overlays - Set to Enabled.
- This flag enables Windows 11 hardware composition swap chains, ensuring zero judder between the GPU rasterizer and the display panel.
4. Verification in WebGL
To confirm your high refresh rate is active:
- Visit a WebGL benchmark utility or open a fast-paced browser game with an FPS counter.
- The counter should now consistently read between 120.0 FPS and 144.0 FPS, delivering reduced input latency and superior visual clarity.
Related Guides & Documentation
- Category Hub: Browse all guides in WebGL & Hardware Acceleration
- Related Guide: Configuring the Metal ANGLE Backend for Safari and Chrome on Apple Silicon MacBooks — How macOS handles WebGL through Apple Metal, reducing frame drops and thermal throttling on M1, M2, M3, and M4 MacBooks.
- Related Guide: Profiling GPU Draw Calls: How DrawArrays Instancing Reduces CPU Bottlenecks in Web Games — Why issuing thousands of individual draw calls freezes browser games, and how hardware geometry instancing allows rendering massive scenes at 60 FPS.
- Related Guide: Diagnosing and Resolving — A guide to understanding why WebGL contexts get terminated by operating system watchdogs and graphics drivers, and how to stabilize 3D browser game sessions.