我使用 Ubuntu 玩游戏。在竞技游戏中,每一毫秒都至关重要。
我知道很多使用 Windows 的人使用一种叫做Leatrix 延迟修复这基本上是一个修改 TCPAckFrequency 的脚本。通过增加发送到游戏服务器的 TCP 确认频率,可以减少在线游戏延迟。
在 Mac OS X 上,您可以通过运行来获得此效果
sudo sysctl -w net.inet.tcp.delayed_ack=0
。
我听说 Linux 内核有一个非常先进的 IP 堆栈,可以使用许多不同的 TCP 拥塞避免算法。我不知道这是否与 TCP 确认频率有关。我还听说 Linux 内核会自动调整 TCP/IP 设置以获得最佳性能。
我能做些什么来减少 TCP/IP 延迟?
答案1
那么你应该确保你的计算机外部的一切都运行正常。
运行traceroute
到游戏服务器。延迟在哪里增加?这是正常的吗?还是它发生在不该发生的地方?
例如从纽约到伦敦将要增加延迟。路由器之后到第一跳大约 50 毫秒可能意味着最后一英里的设备有故障;请与邻居仔细检查。
您的路由器的延迟是多少?从 wifi 切换到有线连接可能并不总是可行的,但它可能只会节省大约五毫秒。
你的电脑性能够好玩这个游戏吗?有时游戏在 Wine 下的性能会不太理想,如果游戏无法在往返时间内处理数据包(通过ping
或traceroute
加倍测量游戏服务器的延迟),那么瓶颈实际上不是网络。
你的 ping 值重要吗?大多数实时游戏都需要插值才能流畅运行。这意味着你实际上是在“过去”玩游戏。例如,Source 游戏让每个玩家都在过去 0.1 秒内运行,这意味着所有延迟为两位数的玩家实际上都在均匀的场地上玩游戏。我个人在美国 TF2 服务器上的 ping 为 160,并没有遇到太多问题。点击这里了解更多。 点击此处了解虚幻网络堆栈。
答案2
我父亲是 Windows 中 TCP Doctor 或类似程序的忠实粉丝,因为他发誓说有了它,他的互联网速度会快很多。就我个人而言,我从未看到过任何差异。但是,他确实问过我如何在 Linux 中做到这一点。他非常失望,因为他无法使用该程序。所以,我做了研究。你说得对,Linux 会自动主动调整 TCP 接收窗口和许多其他 TCP 方面。除非你遇到真正的问题,否则我会保持原样。
但是,如果您觉得必须对其进行调整,这里有一个不错的参考(但请记住,他们讨论的所有这些文件都会由内核自动管理和调整,除非您在运行时修改它们):http://www.speedguide.net/articles/linux-tweaking-121