Все проекты

GameBoost

Автоматическая оптимизация Windows под игры

Замечает запуск игры, переключает схему питания, поднимает приоритет игры и приглушает фон, а после выхода возвращает систему точно в исходное состояние.

Ниже одна игровая сессия от запуска игры до отката, отдельно случай, когда pid уже занят другим процессом, и как менялись тесты и покрытие по дороге к релизу v1.1.0.

Как устроено
  1. Обнаружениеигра распознаётся по пути к исполняемому файлу: Steam, Epic, Xbox, Minecraft
  2. Бустсхема питания, приоритет игры, фон ниже, обои на паузу; каждое изменение пишется в файл состояния
  3. Игравотчер следит за процессом, интервалы считает по монотонным часам
  4. Выходчерез 15 секунд после закрытия игры начинается откат
  5. Отказ

    1. pid занят другим процессом
    2. сверка имени и времени старта
    3. чужой процесс отката не получает
  6. Откатпо файлу состояния система возвращается в исходное

Проверяемые решения

  1. тестыЭтап 05 · Откат

    Откат

    Каждое изменение записывается в файл состояния, откат после выхода из игры идёт по нему. Файл состояния прошёл фаззинг, 700 итераций без исключений.

  2. релиз

    Релиз

    Релиз v1.1.0 вышел только после зелёного CI и прохода ревью без новых дефектов. 348 тестов, покрытие 82.5%.

Цифры

Путь к v1.1.0

Тесты в каждом зелёном прогоне CI, от первого до релиза, и покрытие там, где прогон его считал. Время UTC, 18 и 19 сентября 2026.

Данные графика
Прогон, UTCТестовПокрытиеТег
18.09 20:1149
19.09 00:5172v1.0.0
19.09 01:0677
19.09 01:51104
19.09 02:23147
19.09 02:44159
19.09 02:52упал
19.09 03:0415972,6%
19.09 11:5123179,1%
19.09 12:1824979,4%
19.09 12:3526079,4%
19.09 18:4534882,5%v1.1.0

Покрытие по файлам, v1.1.0

Доля команд PowerShell, которые выполнили тесты, в каждом файле релиза. Вертикальная линия: покрытие всего релиза.

Данные графика
ФайлКоманд выполненоПокрытие
lib/Watcher.ps1127 / 12899,2%
lib/Suppression.ps166 / 6798,5%
lib/Rollback.ps1110 / 11496,5%
lib/State.ps1160 / 16895,2%
lib/Boost.ps1176 / 18694,6%
lib/Detection.ps190 / 9891,8%
lib/Core.ps121 / 2391,3%
lib/Recovery.ps1170 / 18790,9%
lib/SystemActions.ps133 / 4868,8%
lib/Status.ps124 / 4949%
ConfigValidation.ps158 / 6195,1%
TaskHelpers.ps117 / 2181%
gameboost.ps126 / 3672,2%
install.ps155 / 9955,6%
uninstall.ps10 / 610%
watcher.ps10 / 280%

Подробно

Что делает

При запуске игры включается схема питания максимальной производительности, обои Wallpaper Engine ставятся на паузу, фоновые процессы уходят в пониженный приоритет (кроме белого списка), а игра получает высокий. Игры распознаются по пути к исполняемому файлу: библиотеки Steam, манифесты Epic, каталог Xbox и Minecraft на Java. Через 15 секунд после закрытия игры всё возвращается как было.

Откат

Каждое изменение записывается в файл состояния, и откат идёт по нему. Процесс, которому поднимали приоритет, опознаётся не только по pid, но и по имени и времени старта: pid могут переиспользовать, и чужой процесс не должен получить чужой откат. Интервалы вотчер считает по монотонным часам, а не по системному времени, которое может прыгнуть.

Проверки

Релиз v1.1.0: 348 тестов Pester, покрытие 82.5%, CI зелёный. Файл состояния и маркеры прошли фаззинг, 700 итераций без единого исключения. Тег ставится только после зелёного CI и ещё одного прохода ревью, который не нашёл новых дефектов.

Все проекты