Главная /
Алгоритм Нагла
⚡ Алгоритм Нагла
Отключение алгоритма Нагла для снижения задержки в MMO играх и интерактивных приложениях
📋 Что это?
Алгоритм Нагла объединяет несколько мелких пакетов в один большой для повышения эффективности. Это снижает накладные расходы, но вносит небольшую задержку, которая может быть проблематичной для игр.
🎯 Преимущества отключения
- Снижает задержку до 50% в MMO, таких как WoW и Diablo III
- Улучшает время отклика в FPS и MOBA играх
- Устраняет микро-заикания при постоянных соединениях
⚠️
⚠️ Предупреждение
Отключение Нагла может снизить производительность при передаче больших файлов. Рекомендуется только для систем, предназначенных для игр.
💻 Как отключить
Шаг 1: Найти ID сетевого адаптера
Получить GUID сетевого адаптера powershell
Get-NetAdapter | Select-Object Name, InterfaceGuid Путь в реестре: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\
Шаг 2: TcpAckFrequency
| Значение по умолчанию: | 2 (200мс задержки) |
| Рекомендуется: | 1 (отключает Nagling) |
Создать TcpAckFrequency powershell
# Замените NIC-ID на ваш GUID
$nicPath = "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{NIC-ID}"
New-ItemProperty -Path $nicPath -Name "TcpAckFrequency" -PropertyType DWord -Value 1 -Force Шаг 3: TCPNoDelay
Создать TCPNoDelay powershell
$nicPath = "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{NIC-ID}"
New-ItemProperty -Path $nicPath -Name "TCPNoDelay" -PropertyType DWord -Value 1 -Force Шаг 4 (Необязательно): TcpDelAckTicks
Настроить TcpDelAckTicks powershell
$nicPath = "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{NIC-ID}"
New-ItemProperty -Path $nicPath -Name "TcpDelAckTicks" -PropertyType DWord -Value 0 -Force Для MSMQ (если применимо)
TCPNoDelay для MSMQ powershell
$msmqPath = "HKLM:\SOFTWARE\Microsoft\MSMQ\Parameters"
New-ItemProperty -Path $msmqPath -Name "TCPNoDelay" -PropertyType DWord -Value 1 -Force 💡
💡 Совет
Работает на Windows 7, 8, 10 и 11. Также немного улучшает производительность WiFi.
🔄 Откатить изменения
Удалить настройки powershell
$nicPath = "HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{NIC-ID}"
Remove-ItemProperty -Path $nicPath -Name "TcpAckFrequency" -ErrorAction SilentlyContinue
Remove-ItemProperty -Path $nicPath -Name "TCPNoDelay" -ErrorAction SilentlyContinue ⚠️
⚠️ Важно
- Перезагрузка: Перезагрузите Windows для применения изменений
- PowerShell Admin: Запустите от имени администратора
- Резервная копия: Создайте точку восстановления