What VRR flicker actually is
Variable refresh rate lets your monitor match its refresh interval to whatever frame rate your GPU is delivering, which is how G-Sync and FreeSync eliminate tearing without the input lag penalty of V-Sync. On most panels that is the whole story: the refresh interval changes, nothing else does.
On some panels, it is not the whole story. Backlight drive strength, or in the case of OLED the per-pixel drive current, is tied to how long each frame stays on screen. A 45Hz frame is held roughly twice as long as a 90Hz frame, and if the panel does not compensate perfectly for that difference in on-time, the perceived brightness shifts along with it. When frame rate is steady, you never see it. When frame rate swings around, which is exactly what fast-paced games do constantly, the screen visibly pulses brighter and darker in time with those swings.
Why it is worst near your VRR floor
Every VRR display has a supported range, typically something like 48Hz to 144Hz. Below the floor, the monitor cannot simply keep dropping its refresh rate to match a falling frame rate, because very low refresh rates cause their own problems like visible flicker or image degradation on some panel types.
The fix is Low Framerate Compensation, or LFC, which detects frame rate dropping below the VRR floor and starts inserting duplicate frames so the panel can keep refreshing within its supported range, typically at a clean multiple like double the actual frame rate. That works well for eliminating tearing, but the transition in and out of LFC is itself a discrete change in how the panel is being driven, and that transition is where brightness flicker is most often triggered and most visible.
This is why a frame rate hovering right around a monitor's VRR minimum, drifting above and below it repeatedly, tends to produce the worst flickering of any frame rate pattern.
Why almost nobody tests for this
Measuring VRR flicker properly requires driving a real, unpredictable frame rate pattern, similar to what an actual game produces, while measuring the screen's light output with a photometer over time. RTINGS is essentially the only mainstream reviewer doing this at scale, running real game content through a controlled range of frame rates while logging brightness with lab equipment.
Everyone else either does not test for it at all, or relies on informal descriptions from user reports. There is a compiled, open-source desktop test application that reproduces the concept in OpenGL by rendering a gradient and cycling frame time between roughly 1/120th and 1/40th of a second, but it requires downloading and running a native executable rather than working in a browser.
Confirming it yourself
The most reliable home test does not need special equipment. Play the same scene or run the same benchmark with VRR enabled and then with it disabled. If the pulsing disappears when VRR is off, the cause is confirmed. A browser-based tool that drives an irregular frame rate against a plain, bright fill, like ScreenLab's VRR Flicker Test, gets you most of the way there without needing to load a specific game, though it depends on your GPU driver forwarding variable refresh timing to windowed content rather than only exclusive fullscreen applications.
A phone camera can also help distinguish causes: point it at the screen at a few different brightness levels with VRR disabled. If you see banding that comes and goes with brightness level rather than frame rate, that points to PWM backlight dimming instead of VRR, which is a completely different phenomenon with a different fix.
Living with it if you cannot avoid it
If your monitor exhibits VRR flicker and turning VRR off is not acceptable, the most effective mitigation is frame rate stability rather than raw frame rate. A capped, steady 100fps that never wavers will flicker far less than an uncapped frame rate bouncing between 70 and 140fps, even though the average is similar. In-game frame rate limiters, or a limiter set a few frames below your monitor's maximum, smooth out exactly the kind of frame time variance that triggers this.
