A small Windows utility that automatically switches your display's refresh rate: a power-saving mode when the charger is unplugged, and your preferred high-refresh mode when it's plugged back in.
- Polls the power state once every 5 seconds.
- On battery it applies each monitor's
powersave-statemode; on AC power, itsperformance-statemode. - Lives in the system tray. Idle CPU usage is effectively 0% —
config.jsonis only re-read when the file changes.
- Windows 10/11 (x64)
- A laptop with a battery (with no battery info available there is nothing to react to)
- Administrator rights (requested via UAC on launch)
- Download
SRR.exefrom the latest release. - Run it once — it copies itself to
%LOCALAPPDATA%\SRR, adds itself to autostart, creates a Start Menu shortcut and registers an uninstall entry. After that the downloaded file can be deleted. - On first launch it generates
config.jsonfrom your monitor's current settings and starts working right away.
%LOCALAPPDATA%\SRR\config.json contains one entry per monitor, keyed by the monitor's hardware ID:
{
"MONITOR\\LGD0521\\4&abc&0&UID0": {
"performance-state": { "width": 2560, "height": 1440, "refresh_rate": 165 },
"powersave-state": { "width": 2560, "height": 1440, "refresh_rate": 60 }
}
}Edit it with any text editor — SRR picks up changes automatically within a few seconds. Monitors connected later are appended to the config automatically.
How do I change settings?
Edit %LOCALAPPDATA%\SRR\config.json (the tray menu has an Open config folder shortcut), then pick Reload — or just wait a few seconds.
How do I pause or close it? Right-click the tray icon: Pause/Resume temporarily disables switching, Exit quits. On exit your displays are restored to their default modes. The Run at startup checkbox toggles autostart.
How heavy is it on the CPU?
SRR polls the power state once every 5 seconds and only reads config.json when its timestamp changes, so idle CPU usage is effectively 0%.
SRR ships as a single-file executable built with PyInstaller. PyInstaller-packed binaries are a common target of heuristic antivirus detections, so some antivirus products may flag SRR.exe as suspicious even though there is no malware in it. If you see such a warning:
- build the executable yourself from source (see below) — this guarantees the binary matches the code in this repository;
- or add an exclusion for
SRR.exein your antivirus settings; - or report the false positive to your antivirus vendor.
Use Settings → Apps → Installed apps → Smart Refresh Rate → Uninstall, or run %LOCALAPPDATA%\SRR\SRR.exe --uninstall. This stops the app, removes autostart, the Start Menu shortcut, the registry entry and the install folder, and restores default display modes.
Requires Python 3.12. Run:
build.bat
The script creates a .venv, installs dependencies and produces dist\SRR.exe via PyInstaller.
MIT. Monitor icon by Maniprasanth — Flaticon.