A tiny, honest background-process optimizer for Windows games — a lightweight, open-source take on Process Lasso's core "ProBalance" idea. It lives in the system tray, keeps your background apps out of your game's way while you play, and puts everything back when you're done.
No installer. No admin. No injection. No telemetry. Fully reversible.
- Watches for your game (default: Overwatch) and raises it to High priority.
- While you play, it temporarily lowers the priority of background CPU hogs (browser tabs, chat-app helpers, dev tools, updaters) so they stop stealing CPU cycles and cache from the game.
- Restores every process the moment you close the game or quit the tool.
- Survives a crash: it records what it changed to disk before changing it, so even a forced kill (Task Manager / power loss) is healed on the next launch.
Most "gaming optimizers" oversell, so let's be straight: the real, measurable effect is smoother frame-times / better 1% lows when your system is under background load — not higher average FPS, and nothing at all when you're GPU-bound. If a tool promises "+30% FPS" from priority tweaks, it's folklore.
It also skips tricks that don't apply to your CPU. On a single-CCD chip (e.g. Ryzen 7 9800X3D) there's no CCD-pinning magic to be had — there's one cache die, so the whole "pin the game to the good CCD" idea is moot. This tool ignores that and focuses on the one lever that's real: background contention.
- No administrator rights for the core loop — it only changes the priority of processes in your own user session.
- It sets Windows priority classes only — it never injects into, reads, or writes any process's memory or threads, and it never uses RealTime priority. This is deliberately designed to be anti-cheat-friendly (changing a process's priority is a normal thing Windows itself does, e.g. Game Mode), but no external tool can guarantee how a given anti-cheat will behave — use it at your own risk (the MIT license below is "AS IS", no warranty).
- Deny-by-default guard: it will never demote system-critical processes, your game, the window you're currently using, your voice / overlay / capture / driver software (Discord, OBS, AMD/NVIDIA, TeamSpeak, peripheral suites, …), or anything outside your session.
- Fully reversible: everything is restored on game exit, on quit, or on the next launch after a crash.
- Windows 10 / 11.
- .NET Framework 4.8 (already present on modern Windows). No .NET SDK, no NuGet, nothing extra to install.
powershell -ExecutionPolicy Bypass -File build.ps1 # compile -> bin\QuickFpsOptimizer.exe
powershell -ExecutionPolicy Bypass -File build.ps1 -Run # compile + run the built-in self-testsIt compiles with the csc.exe that ships with the .NET Framework — the output is
a single self-contained QuickFpsOptimizer.exe.
- Run
bin\QuickFpsOptimizer.exe. A tray icon appears; optimization is on by default. - First thing to do: if you don't play Overwatch, set your game — see Configure below (the tool does nothing until it sees a running game whose name matches).
- Right-click the tray icon:
- Enable optimization — toggle on/off.
- Start with Windows — auto-start at login (writes a small
QuickFpsOptimizer-Startup.vbsinto your Startup folder; un-checking it deletes that file — nothing hidden). - Open log — see exactly what it's doing.
- Quit (restores all) — stop and restore everything.
On first run the tool creates %LOCALAPPDATA%\QuickFpsOptimizer\settings.json
with defaults. Edit it and restart the tray to apply:
GameNames— your game's process name(s). This is the one thing most people need to change. Use the .exe base name with no extension, e.g.["Valorant"],["cs2"],["r5apex"]. Default:["Overwatch"].CpuBusyPercent/CpuCalmPercent/DwellSeconds/PollSeconds— tuning.NeverTouch— extra process names to leave alone (default:["Spotify"]). Safety-critical overlay / driver / voice names are always protected and can't be removed here — this list can only add to protection.StartEnabled— auto-enable optimization at launch (default:true).
A "ProBalance-lite" loop samples per-process CPU every couple of seconds. A background process that sustains a CPU spike gets dropped to BelowNormal (with a dwell + hysteresis so it doesn't flap), and restored when it calms down or the game closes. Every change is written to a durable, identity-checked ledger before it happens, so nothing is ever left demoted after a crash.
build.ps1 -Run exercises the engine, the tray lifecycle, and the crash-recovery
path headlessly (produce → simulated forced kill → recover, plus identity /
corrupt-file / persist-failure legs). All should exit 0.
MIT — see LICENSE.
Not affiliated with, endorsed by, or sponsored by Blizzard, Bitsum (Process Lasso), or any other company named here. All product and company names are trademarks of their respective owners and are used only to describe compatibility.