NyxBoost下载

游戏中的 Nagle 算法:要不要关闭?

关闭 Nagle 算法(TCPNoDelay 和 TcpAckFrequency)常被说成可以“降低延迟”。本文说明它实际做什么、对哪些游戏可能有帮助,以及为什么大多数射击游戏不受影响。

什么是 Nagle 算法

这是 TCP 的一个老机制:当程序发送大量很小的数据片段时,Windows 会短暂地把它们攒起来,合并成一个数据包发送。与它配合的是“延迟确认”(delayed ACK):接收方不会立即确认每个数据包,而是成批确认——Windows 默认每两个数据包确认一次,或者最多等待 200 毫秒的计时器。下载文件时这样可以节省网络资源;但对于通过 TCP 发送小消息的游戏,它可能增加延迟。

这项设置改了什么

对每个已连接的网络适配器,在 HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{适配器 GUID} 下写入两个值:TCPNoDelay = 1(不合并小数据包)和 TcpAckFrequency = 1(每个数据包立即确认)。需要管理员权限,并需重启。

关闭 Nagle 算法(TCP)Windows 不再合并小 TCP 数据包,并立即确认收到的数据包(为每个已连接的网卡设置 TCPNoDelay 和 TcpAckFrequency)。→

对哪些游戏有帮助

只对通过 TCP 与服务器通信的游戏有帮助:部分 MMO 和 MOBA、较老的网络游戏、一些网页游戏和回合制游戏。《反恐精英 2》、Valorant、Fortnite、Apex Legends 以及大多数现代射击游戏使用 UDP——Nagle 算法与它无关,这项设置对它们没有任何影响。

能降低 ping 吗

游戏里显示的 ping 主要取决于到服务器的距离和您的线路质量。关闭 Nagle 算法不会让它变小。在合适的 TCP 游戏中,它可能消除个别消息偶尔多出的延迟——感觉像操作“卡了一下”——但即便如此,也应该实际测试,而不是想当然。

缺点

  • 网络上的小数据包会稍微多一些。
  • 在慢速或繁忙的连接上,大文件下载可能略慢。
  • 这些值按适配器写入:更换网卡或 Wi-Fi 适配器后,需要重新应用这项设置。

结论

如果您玩的是 TCP 游戏并且感觉操作有延迟,可以试试——它是安全的,并且可以撤销。如果您玩的是 CS2、Valorant 或 Fortnite,就不必费心了:不会有效果。在 NyxBoost 中,这项设置会在应用前显示所有值,“撤销”会恢复原值。至于相关的多媒体网络限制设置,实话说:它通常也不会改变游戏中的 ping。

本文涉及的设置

更多文章

下载 NyxBoost