Привет, Хабр! Меня зовут Sonic. Я собрал SonicBoost — бесплатную утилиту с открытым кодом, которая вытаскивает из Windows 10/11 максимум FPS. 28 твиков реестра, управление службами, блокировка телеметрии, оптимизация сети — всё в одном EXE на 65 МБ. Под капотом .NET 8, WPF UI с Mica-эффектом и ни одного подозрительного скрипта — весь код на GitHub.

В статье — подробный разбор: какие параметры реестра реально влияют на производительность, почему Windows по умолчанию тормозит в играх, и как мы это исправляем.

Зачем вообще нужен ещё один твикер?

Каждый геймер знает ощущение: собрал машину за 200к, а в Valorant на ALT+TAB — фриз на 3 секунды. FPS скачет, пинг гуляет, микрофризы в самый неподходящий момент.

Проблема не в железе. Проблема в том, что Windows — это корпоративная ОС, а не игровая. По умолчанию там крутятся:

  • Xbox Game Bar — пишет видео в фоне и дёргает GPU

  • Windows Search — индексирует полмиллиона файлов при каждом чихе

  • DiagTrack — собирает телеметрию и шлёт в Microsoft

  • SysMain — предзагружает приложения, которые вы не просили

  • Виджеты — тянут новости через Edge в фоне

А ещё: таймер системы работает с разрешением ~15.6 мс (при мониторе 144 Гц нужно ~7 мс на кадр), сетевые пакеты искусственно дросселируются, а 20% процессора зарезервировано «для системных нужд».

Существующие решения — это либо скрипты с GitHub, где непонятно что происходит, либо платные утилиты с агрессивным маркетингом. Хотелось сделать прозрачный инструмент: ты видишь что именно меняется, можешь откатить, и всё это бесплатно с открытым кодом.

28 твиков, которые реально работают

Не мифы из YouTube — конкретные ключи реестра с объяснениями.

Топ-5 самых эффективных

1. Отключение Game Bar и Game DVR

HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\GameDVR
  AppCaptureEnabled = 0

HKLM\SOFTWARE\Policies\Microsoft\Windows\GameDVR
  AllowGameDVR = 0

Game Bar — самый жирный оверлей в Windows. Он постоянно мониторит активность, пишет в буфер последние 30 секунд геймплея и дёргает GPU. Отключение — первое, что нужно сделать.

2. Аппаратное планирование GPU (HAGS)

HKLM\SYSTEM\CurrentControlSet\Control\GraphicsDrivers
  HwSchMode = 2

Hardware-Accelerated GPU Scheduling передаёт планирование задач самой видеокарте вместо CPU. На современных GPU (NVIDIA 10xx+, AMD 5xxx+) снижает input lag на 5-15%.

3. Приоритет мультимедийных задач

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile
  SystemResponsiveness = 0
  NetworkThrottlingIndex = 0xFFFFFFFF

По умолчанию Windows резервирует 20% CPU для системных задач даже во время игры. SystemResponsiveness = 0 говорит: «отдай всё игре». А NetworkThrottlingIndex = 0xFFFFFFFF убирает искусственный лимит на сетевые пакеты.

4. Высокое разрешение таймера

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel
  GlobalTimerResolutionRequests = 1

Windows по умолчанию работает с разрешением таймера ~15.6 мс. Для 144+ Гц монитора это катастрофа — кадры буквально не попадают в тайминг. Этот твик включает глобальное разрешение ~0.5 мс.

5. Отключение фоновых UWP-приложений

HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\BackgroundAccessApplications
  GlobalUserDisabled = 1

Погода, Новости, Почта, Cortana — десятки UWP-приложений тихо работают в фоне. Один ключ — и все замолчали.

Полный список

Категория

Твик

Риск

Игры

Отключить Game Bar

Безопасно

Игры

Отключить Game DVR

Безопасно

Игры

Отключить оптимизацию полноэкранного режима

Безопасно

Игры

Аппаратное планирование GPU

Умеренно

Игры

Включить игровой режим

Безопасно

Игры

Отключить ускорение мыши

Безопасно

Игры

Высокий приоритет GPU

Умеренно

Игры

Высокий приоритет CPU

Умеренно

Игры

Высокое разрешение таймера

Продвинуто

Игры

Отключить мониторинг Xbox

Безопасно

Игры

Приоритет мультимедийных задач

Безопасно

Производительность

Отключить визуальные эффекты

Безопасно

Производительность

Отключить прозрачность

Безопасно

Производительность

Отключить анимации окон

Безопасно

Производительность

Отключить Cortana

Безопасно

Производительность

Отключить веб-поиск в Пуске

Безопасно

Производительность

Отключить виджеты

Безопасно

Производительность

Отключить троттлинг питания

Умеренно

Производительность

Отключить Prefetch

Умеренно

Производительность

Отключить SysMain / Superfetch

Безопасно

Производительность

Отключить быстрый запуск

Безопасно

Производительность

Отключить фоновые приложения

Безопасно

Производительность

Убрать задержку автозагрузки

Безопасно

Производительность

Отключить контроль памяти

Безопасно

Производительность

Отключить рекламу на экране блокировки

Безопасно

Производительность

Отключить предлагаемые приложения

Безопасно

Производительность

Увеличить системный кэш

Умеренно

Сеть

Отключить сетевой троттлинг

Безопасно

Каждый твик помечен уровнем риска:

  • Безопасно — откат не нужен, ничего не сломается

  • Умеренно — работает у 99% пользователей, но зависит от железа

  • Продвинуто — может вызвать нестабильность на старых системах

Как это устроено внутри

Стек: .NET 8 + WPF UI 4.2 (Fluent Design с Mica), CommunityToolkit.Mvvm, DI через Microsoft.Extensions.Hosting.

SonicBoost/
├── SonicBoost.Core/          # Бизнес-логика (0 зависимостей от UI)
│   ├── Tweaks/               # Движок твиков + определения
│   ├── Services/             # Управление службами Windows
│   ├── Privacy/              # Блокировка телеметрии
│   ├── Network/              # Оптимизация TCP/DNS
│   ├── Debloat/              # Удаление bloatware
│   ├── Power/                # Планы электропитания
│   ├── Drivers/              # Определение оборудования
│   ├── Logging/              # Логирование в файл
│   └── Backup/               # Бэкап настроек перед изменениями
└── SonicBoost/               # WPF-приложение
    ├── Views/                # XAML-страницы
    ├── ViewModels/           # MVVM ViewModels
    └── Helpers/              # Конвертеры, утилиты

Ключевая абстракция — TweakItem:

public partial class TweakItem : ObservableObject
{
    public string Id { get; init; }
    public string Name { get; init; }
    public string RegistryPath { get; init; }
    public string RegistryKey { get; init; }
    public object EnabledValue { get; init; }
    public object DisabledValue { get; init; }
    public RegistryValueKind ValueKind { get; init; }
    
    [ObservableProperty] private bool _isEnabled;
}

Движок умеет:

  1. Прочитать текущее значение из реестра

  2. Сделать бэкап оригинала

  3. Записать новое значение

  4. Верифицировать запись — перечитать значение и убедиться, что оно действительно изменилось

  5. Откатить к исходному

Пункт 4 — важный. Многие утилиты просто делают SetValue и показывают «Готово!», даже если запись тихо провалилась (нет прав, политика безопасности, антивирус заблокировал). SonicBoost после каждой записи перечитывает значение и показывает реальный статус:

  • Запись прошла → зелёный бейдж «Включено»

  • Запись не прошла → красная ошибка с конкретной причиной

  • Нет прав администратора → предложение перезапуститься с правами

Обратная связь в реальном времени

Главная боль подобных утилит — «я нажал кнопку, а сработало или нет?». В SonicBoost:

  • Цветной бейдж напротив каждого твика — зелёный/красный, обновляется мгновенно

  • Статус-бар вверху страницы — показывает последнее действие и ошибки

  • Лог-файл — всё пишется в %LOCALAPPDATA%\SonicBoost\Logs\, можно открыть прямо из приложения

  • При ошибках статус-бар краснеет и показывает конкретную причину

Сеть: снижение пинга

Четыре TCP-оптимизации для снижения задержки:

  • Отключить алгоритм Нейгла (TcpNoDelay = 1) — пакеты отправляются мгновенно, без буферизации

  • Отключить TCP-метки времени — убирает лишние байты из каждого пакета

  • Оптимизировать частоту TCP ACK (TcpAckFrequency = 1) — подтверждения идут на каждый пакет

  • Отключить сетевой троттлинг — убирает лимит в 10 пакетов для немультимедийного трафика

Плюс быстрая смена DNS: Cloudflare (1.1.1.1), Google (8.8.8.8), Quad9, OpenDNS — одной кнопкой для всех активных интерфейсов.

Конфиденциальность

9 твиков + блокировка 14 хостов Microsoft через hosts-файл:

  • Телеметрия → уровень 0 (только безопасность)

  • Рекламный ID → отключён

  • Журнал активности → отключён

  • Геолокация → отключена

  • Запросы отзывов → отключены

  • Windows Copilot → отключён

  • Windows Recall → отключён

  • Диагностика приложений → запрещена

Управление службами

18 служб Windows, которые можно безопасно отключить: от SysMain и DiagTrack до Xbox Live и факса. Каждая с описанием, текущим статусом и уровнем риска. Статус обновляется в реальном времени — отключил службу, тут же видишь «Остановлена».

Как попробовать

Скачать готовый EXE (65 МБ, Windows x64, самодостаточный — .NET не нужен):

github.com/by-sonic/SonicBoost/releases/latest

Запустить от имени администратора, пройтись по вкладкам, включить нужные твики. Перезагрузка для полного эффекта.

Или собрать из исходников:

git clone https://github.com/by-sonic/SonicBoost.git
cd SonicBoost
dotnet publish src/SonicBoost/SonicBoost.csproj -c Release -r win-x64 --self-contained -p:PublishSingleFile=true -o publish

CI/CD настроен через GitHub Actions — каждый push в main автоматически собирает релиз.

Итого

SonicBoost — не магия и не плацебо. Это конкретные параметры реестра и системные настройки, которые Microsoft выставляет по умолчанию ради универсальности, а не ради производительности. Мы просто собрали их в одном месте с нормальным UI, верификацией и откатом.

Код открыт, лицензия MIT. Принимаем PR-ы, предлагайте свои твики.

GitHub: github.com/by-sonic/SonicBoost