Привет, Хабр! Меня зовут 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; }
Движок умеет:
Прочитать текущее значение из реестра
Сделать бэкап оригинала
Записать новое значение
Верифицировать запись — перечитать значение и убедиться, что оно действительно изменилось
Откатить к исходному
Пункт 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
