Screen Refresh Rate (Hz) Detector

Check if your screen is running at 60, 120, 144, or 240Hz.

Refresh rate sampling area
Suggestion: first run for 10 seconds to check "stability", then switch to "static" to see whether the refresh rate will decrease/dynamically refresh.
Visual comparison (animation/stress mode more obvious)
Tip: If the refresh rate drops significantly to 30/60 or two clusters appear in static mode, it is usually the system/browser's power saving or dynamic refresh strategy.
Note: What is measured here is the browser compositor/rendering rhythm (rAF), which is usually strongly related to the screen refresh rate; however, in scenarios such as power saving, background, VRR, multi-screen/external monitors, etc., it may be different from the "panel nominal Hz".
Real-time indicators
Not sampled
Current refresh rate (most likely)
-
Average FPS (within window)
-
stability
slight fluctuation
Insufficient samples, it is recommended to run for 5–10 seconds before making a judgment.
Jitter (P90-P10)
-
Standard deviation (dt)
-
Suspected lag frame
-
Estimating "missed brushes"
-
Dynamic refresh possibility
-
If you see two main clusters (for example, 60 and 120) with high ratios, it usually indicates dynamic refresh/power-saving brush reduction or refresh switching caused by load.
Frame interval distribution (top 5 clusters)
After clicking "Start", the statistical results will be displayed here.
Tip: If you doubt "dynamic refresh", first run "animation" for 10 seconds to record the results, then switch to "static" and run for 10 seconds to compare. The difference is usually obvious.

How to use this page to quickly determine "high refresh/stable/dynamic refresh"

First select the "Animation" mode and run it for 10 seconds: see whether the "most likely refresh rate" reaches 90/120/144, etc., and initially judge whether it is at a high refresh rate.
Look at "Stability" and "Jitter (P90-P10)": the smaller the value, the smoother it is; if it is "unstable" and "suspected frames/missed frames" increase, it is usually caused by load/frequency limiting/dropped frames.
Then switch to "static" mode and run for 10 seconds: If the refresh rate drops significantly (for example, from 120→60/30), it is probably the system power saving/dynamic refresh strategy that is at work.
If two main clusters (such as 60Hz and 120Hz) appear in the "Frame Interval Distribution" with high proportions, it is common for dynamic refresh (VRR/adaptive refresh) or rendering load fluctuations.
Want to verify "load causes brush drop": Use "Stress" mode to compare and observe whether the refresh rate and jitter worsen.

Hz Guide

Use animation loop to estimate rAF interval / FPS.

Step 1

Take baseline measurements first (animation)

about 10 seconds

Run for 10 seconds to confirm whether the refresh rate is high and overall stability.

Select "Animation" mode and click "Start"
Keep the page in the foreground and run for more than 10 seconds
Record "most likely refresh rate", "stability", "jitter" and "suspected stuck frames"
Tip: Switching to the background will cause rAF to be downgraded/paused by the browser, and the results will be distorted.
Step 2

Compare the static mode (to see if the brush is reduced)

about 10 seconds

Static content is more likely to trigger the system power saving/dynamic refresh strategy and is suitable for judging "whether it will drop to 60/30".

Stop sampling and switch to "static" mode
Click "Start" again and run for 10 seconds
Observe whether the refresh rate drops from high to 60/30, or two main clusters appear (dynamic refresh/switching)
Step 3

Pressure control (to see if the load is brushed)

about 10 seconds

When the CPU/GPU is under greater pressure, will frame drops, increased jitter, and refresh rate decrease occur?

After stopping sampling, switch to "Pressure" mode
Run for 10 seconds and watch for "stutters" or a significant drop in refresh rate
If the stress mode is worse: first suspect background load/power policy/browser synthesis path issues

FAQ

Frequently asked questions about refresh rate, dynamic refresh and stability judgment.

1.

What is the measured "refresh rate" of this page?

What is measured here is the browser's requestAnimationFrame (rAF) callback rhythm, which is usually strongly related to the screen refresh rate. It reflects the output frequency of the browser's compositing/rendering pipeline and is not equivalent to the monitor panel's "nominal Hz".

2.

How to judge whether it is high refresh rate (90/120/144Hz)?

Run in "Animation" mode for about 10 seconds to see if the "most likely refresh rate" falls stably at 90/120/144 and other gears; also observe whether the "frame interval distribution" is mainly concentrated in one cluster (for example, 120Hz).

3.

Why does it change from 120Hz to 60Hz/30Hz in static mode?

This is a common system power saving/dynamic refresh strategy: reduce the refresh rate when content is stationary to save energy. Different operating systems, browsers, and display (internal screen/external) strategies vary greatly; comparing "animated" and "static" results is the most intuitive method.

4.

What does "dynamic refresh possibility" mean?

When two or more high-proportion frame interval clusters appear within the statistics window (such as 60Hz and 120Hz), it usually indicates that the refresh rate is switching: it may be VRR/adaptive refresh, or it may be load fluctuations that cause the browser to only intermittently reach high refresh rates.

5.

How do you understand "stable/slight fluctuation/unstable"?

It makes an empirical judgment based on the quantile jitter (P90-P10) and standard deviation (std) of the frame interval: the more stable it is, the more concentrated the frame interval is and the subjective smoothness is smoother; the instability may be due to dropped frames, system refresh, excessive background load, or browser frequency limitation.

6.

Why does the result become worse after switching to the background?

The browser actively downclocks or even pauses rAF in the background to save energy and protect resources, so the measured "refresh rate" will drop significantly. This tool will automatically stop when it detects switching to the background. It is recommended to always test in the foreground.

7.

Can this tool accurately differentiate between VRR and performance drops?

It cannot be completely precise. Both will show that the frame interval distribution becomes "more clustered/more scattered". It is recommended that you use a comparison method: switch between "Static" and "Animation", and then use "Stress" mode to verify the load impact; if the stress mode is obviously worse, it is usually more of a performance bottleneck.