GameBoost
Automatic Windows tuning for games
Notices when a game starts, switches the power plan, raises the game's priority and quiets the background, then restores the system exactly as it was once the game exits.
Below is one gaming session from launch to rollback, the case where the pid already belongs to another process, and how tests and coverage grew on the way to release v1.1.0.
- Detectionthe game is recognised by its executable path: Steam, Epic, Xbox, Minecraft
- Boostpower plan, game priority, background lowered, wallpaper paused; every change goes to the state file
- Gamethe watcher follows the process and measures intervals on a monotonic clock
- Exitrollback starts 15 seconds after the game closes
Failure path
- The pid belongs to another process
- name and start time are compared
- an unrelated process gets no rollback
- Rollbackthe state file brings the system back to where it was
Verifiable decisions
Rollback
Every change is written to a state file, and the rollback after a game exits follows it. The state file was fuzzed for 700 iterations without a single exception.
Release
Release v1.1.0 shipped only after green CI and a review pass with no new defects. 348 tests, 82.5% coverage.
Numbers
The road to v1.1.0
Tests in every green CI run from the first to the release, and coverage where the run measured it. Times in UTC, 18 and 19 September 2026.
Chart data
| Run, UTC | Tests | Coverage | Tag |
|---|---|---|---|
| 18.09 20:11 | 49 | ||
| 19.09 00:51 | 72 | v1.0.0 | |
| 19.09 01:06 | 77 | ||
| 19.09 01:51 | 104 | ||
| 19.09 02:23 | 147 | ||
| 19.09 02:44 | 159 | ||
| 19.09 02:52 | failed | ||
| 19.09 03:04 | 159 | 72.6% | |
| 19.09 11:51 | 231 | 79.1% | |
| 19.09 12:18 | 249 | 79.4% | |
| 19.09 12:35 | 260 | 79.4% | |
| 19.09 18:45 | 348 | 82.5% | v1.1.0 |
Coverage by file, v1.1.0
Share of PowerShell commands executed by the tests in each file of the release. The vertical line is coverage of the whole release.
Chart data
| File | Commands executed | Coverage |
|---|---|---|
| lib/Watcher.ps1 | 127 / 128 | 99.2% |
| lib/Suppression.ps1 | 66 / 67 | 98.5% |
| lib/Rollback.ps1 | 110 / 114 | 96.5% |
| lib/State.ps1 | 160 / 168 | 95.2% |
| lib/Boost.ps1 | 176 / 186 | 94.6% |
| lib/Detection.ps1 | 90 / 98 | 91.8% |
| lib/Core.ps1 | 21 / 23 | 91.3% |
| lib/Recovery.ps1 | 170 / 187 | 90.9% |
| lib/SystemActions.ps1 | 33 / 48 | 68.8% |
| lib/Status.ps1 | 24 / 49 | 49% |
| ConfigValidation.ps1 | 58 / 61 | 95.1% |
| TaskHelpers.ps1 | 17 / 21 | 81% |
| gameboost.ps1 | 26 / 36 | 72.2% |
| install.ps1 | 55 / 99 | 55.6% |
| uninstall.ps1 | 0 / 61 | 0% |
| watcher.ps1 | 0 / 28 | 0% |
In detail
What it does
When a game starts, it switches to the high-performance power plan, pauses Wallpaper Engine, lowers the priority of background processes (except an allowlist) and raises the game’s own. Games are recognised by the path of their executable: Steam libraries, Epic manifests, the Xbox folder and Minecraft on Java. Fifteen seconds after the game closes, everything goes back to how it was.
Rollback
Every change is written to a state file, and the rollback follows it. A process whose priority was raised is identified not only by its pid but also by name and start time: pids get reused, and an unrelated process must never receive someone else’s rollback. The watcher measures intervals with a monotonic clock rather than wall time, which can jump.
Checks
Release v1.1.0: 348 Pester tests, 82.5% coverage, green CI. The state file and markers were fuzzed for 700 iterations without a single exception. A release tag is set only after green CI and one more review pass that finds no new defects.