Windows Hardware Latency & Kernel Optimization Suite — высокоэффективный программно-аппаратный комплекс тонкой настройки системных таймеров, планировщика мультимедиа (MMCSS) и шины прерываний PCI Express для операционных систем Windows 10 & 11. Предназначен для критического снижения задержки ввода (Input Lag), ликвидации микро-фризов планировщика и стабилизации времени кадра (Frametime) в соревновательных дисциплинах и системах реального времени.
Утилита объединяет как статические низкоуровневые твики операционной системы, так и динамический движок непрерывного удержания разрешения системного таймера, функционирующий в режиме интерактивной консоли или защищенной фоновой службы Windows.
┌────────────────────────────────────────────────────────────────────────┐
│ ExtraLowLatencyMod Suite │
└───────────────────────────────────┬────────────────────────────────────┘
│
┌──────────────────────────┼──────────────────────────┐
▼ ▼ ▼
┌───────────────┐ ┌───────────────┐ ┌───────────────┐
│ SYSTEM TIMER │ │ SCHEDULER │ │ PCI INTERRUPT │
│ 0.50 ms / 2KHz│ │ MMCSS Tuning │ │ MSI-Mode forced
└───────────────┘ └───────────────┘ └───────────────┘
| Модуль оптимизации | Механизм воздействия на систему | Ожидаемый результат |
|---|---|---|
| Глобальный таймер ядра (TSC) | Переопределение NtSetTimerResolution до жестких 0.50 мс (2000 Гц), синхронизация TSC-тактов кремния, деактивация Dynamic Tick. |
Исправление джиттера планировщика ОС, идеально плавная отрисовка мыши, стабильный фреймтайм без провалов. |
| MMCSS & Network De-Throttling | Исключение резервирования CPU фоновым процессам, отключение пакетного сетевого тромбоза (Coalescing), приоритезация задач "Games" до класса High. | Стабилизация Ping в сети, сохранение высокого 1% и 0.1% Min FPS во время фоновых обновлений Windows. |
| Интеллектуальный MSI-Mode | Авто-сканирование топологии физической шины PCI и перевод хост-контроллеров (GPU, USB, Network, NVMe) в режим Message Signaled Interrupts. | Устранение классических IRQ-конфликтов. Снижение задержки отклика периферии (мыши/клавиатуры) на 30-50%. |
По умолчанию Windows переводит ядра процессора в энергосберегающие интервалы ожидания до 15.6 мс. Это вызывает задержку запуска потоков.
- GlobalTimerResolutionRequests (1): Принудительно разрешает ядру Windows 11 принимать глобальный запрос на прерывания 0.5 мс.
- bcdedit /set disabledynamictick yes: Запрещает процессору пропускать такты аппаратного таймера (интервалы времени становятся монотонными и предсказуемыми).
- bcdedit /set useplatformclock no: Блокирует медленный HPET (High Precision Event Timer) на материнской плате, переводя синхронизацию задач на аппаратный TSC счетчик процессора.
- SystemResponsiveness = 0: По умолчанию Windows резервирует до 20% ресурсов процессора под фоновые системные процессы. Этот параметр принудительно перераспределяет 100% ресурсов активному (игровому) приложению.
- NetworkThrottlingIndex = 0xFFFFFFFF: Полностью отключает ограничительный троттлинг сетевой карты, предотвращая буферизацию пакетов Windows для борьбы с лагами и скрытыми пиками задержки (Network Spikes).
- MMCSS Games Task Customization: Задает видеокарте (
GPU Priority = 8), обработчику потоков (Priority = 6) и файловому вводу-выводу (SFIO Priority = High) высший приоритет планирования в обход общего пользовательского пула.
В традиционном режиме прерываний Line-Based IRQ несколько аппаратных узлов вынуждены разделять одну физическую линию прерывания, ожидая своей очереди.
- Программа осуществляет парсинг улья
HKLM\SYSTEM\CurrentControlSet\Enum\PCI. - Для каждого совместимого контроллера (аппаратного чипа) прописывается логическая структура
Interrupt Management\MessageSignaledInterruptProperties. - Устанавливается флаг
MSISupported = 1и лимитируется количество сообщенийMessageNumberLimit = 1. Это позволяет периферии писать прерывания ввода напрямую в кэш процессора, минуя медленный опрос оборудования.
Проект спроектирован по принципу модульной избыточности и предлагает 3 способа конфигурирования системы:
Program.cs— Консольная утилита и фоновая служба Windows в одном исходном файле. Реализована на C# с использованием P/Invoke (ntdll.dll,kernel32.dll,user32.dll) для моментального доступа к API ядра операционной системы.latency_tweaks_admin.bat— Автономный инсталляционный Batch-скрипт. Служит запасным средством развертывания реестра и BCD-параметров в одно касание перед первой перезагрузкой.latency_tweaks.reg— Экспортируемый файл реестра. Описывает чистые изменения системных сущностей без вмешательства исполняемого кода.app.manifest— Управляющий манифест сборки, требующий от Windows обязательного запроса прав Администратора (requireAdministrator) при запуске.exe.
КРИТИЧЕСКОЕ ТРЕБОВАНИЕ: Все компоненты комплекса вносят низкоуровневые изменения в ядро ОС и конфигурационные ветки реестра HKEY_LOCAL_MACHINE, в связи с чем требуют обязательного запуска с Правами Администратора.
Запустите скомпилированный файл ExtraLowLatencyMod.exe от имени Администратора. Откроется адаптивный интерфейс терминала со следующими сценариями:
- Пункт 1: Автоматическое применение системных BCD-параметров, отключение сиквенса HPET, разблокировка глобальных лимитов таймера Windows и конфигурация MMCSS.
- Пункт 2: Безопасный перевод PCI-E архитектуры и USB-контроллеров в высокоскоростной MSI-Mode.
- Пункт 3: Непосредственная фиксация таймера на планке 0.50 мс в текущем потоке (Процесс должен оставаться открытым).
- Пункт 6: Запуск диагностического модуля ядра. Отображает реальную точность тиков в реальном времени и выводит вердикт о наличии "рваного" таймера в системе.
Для устранения необходимости держать открытым консольное окно, вы можете интегрировать программу прямо во внутренний менеджер служб Windows (Service Control Manager). Программа зарегистрирует себя в роли службы автозагрузки, запускающейся на этапе раннего рендеринга ОС.
ExtraLowLatencyMod.exe --installИли выберите Пункт 4 в интерактивном меню.
Служба ExtraLowLatencyModService будет добавлена с флагом start= auto (Запуск до входа пользователя в систему) и выполнит первичный микро-захват таймеров в энергоэффективном фоновом потоке, потребляющем 0.00% ресурсов CPU.
ExtraLowLatencyMod.exe --uninstallИли выберите Пункт 5 в интерактивном меню. Служба будет корректно остановлена, таймер ядра сброшен в заводские спецификации, а её бинарная регистрация полностью стерта из базы данных Windows Services.
Продукт написан на базе современного .NET 8.0 SDK и оптимизирован под архитектуру Windows 64-bit.
- .NET SDK 8.0 или новее.
Для того чтобы запустить программу на компьютерах без предустановленной среды .NET Runtime, соберите проект со следующими ключами оптимизации:
dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -p:PublishTrimmed=true-r win-x64: Жесткая компиляция машинного кода под 64-разрядные процессоры x86-64.--self-contained true: Все необходимые системные библиотеки .NET упаковываются прямо в исполняемый файл.-p:PublishSingleFile=true: Сборка компилирует на выходе ровно один легковесный файл.exeбез сопутствующих библиотек.-p:PublishTrimmed=true: Активирует обрезку неиспользуемых метаданных среды выполнения для минимизации занимаемой памяти и ускорения холодного старта процесса.
После применения настроек и перезагрузки ПК запустите Пункт 6 (Подробный статус-отчет) в консоли ExtraLowLatencyMod.
Анализатор считывает системную точность ядра в реальном времени:
- Нормальное значение (Оптимизировано):
0.5000 мс — Внутренний Timer Resolution зафиксирован. FPS плавный, прерывания сбалансированы. - Дефолтное значение (Заводское):
15.6250 мс — Таймер ядра отключен / сброшен. Система функционирует в режиме повышенного энергосбережения за счет точности задержек ввода.
Все изменения, реализованные комплексом, полностью обратимы. Для сброса параметров в заводские достаточно:
- Зайти в интерактивное меню и последовательно удалить службу (Пункт 5).
- Выполнить сброс системного таймера, закрыв активную консоль удержания по сочетанию клавиш
Ctrl + C. - Для отката статических параметров BCD в терминале Администратора введите:
bcdedit /deletevalue disabledynamictick bcdedit /deletevalue useplatformclock bcdedit /deletevalue tscsyncpolicy
- Вернуть параметры реестра в изначальные можно стандартным средством восстановления Windows (созданием точки восстановления перед первым применением утилиты).