如何减少游戏的 TCP 延迟?

Ano*_*ous 6 performance networking games

我使用 Ubuntu 来玩游戏。在竞技游戏中,每一毫秒都很重要。

我知道许多使用 Windows 的人使用称为Leatrix Latency Fix 的东西,它基本上是一个修改 TCPAckFrequency 的脚本。这通过增加发送到游戏服务器的 TCP 确认的频率来减少在线游戏延迟。

在 Mac OS X 上,您可以通过运行 sudo sysctl -w net.inet.tcp.delayed_ack=0.

我听说 Linux 内核有一个非常先进的 IP 堆栈,可以使用许多不同的 TCP 拥塞避免算法。我不知道这是否与 TCP 确认频率有关。我还听说 Linux 内核会自动调整 TCP/IP 设置以获得最佳性能。

我可以做些什么来减少 TCP/IP 延迟?

bad*_*adp 2

好吧,您应该确保计算机之外的其他一切都运行良好。

运行traceroute到游戏服务器。延迟在哪里增加?这是正常现象还是发生在不应该发生的地方?

例如,从纽约到伦敦的跳跃增加延迟。距离路由器第一跳大约 50 毫秒可能意味着最后一英里的设备出现故障;与你的邻居仔细核对。

您的路由器有多少延迟?从 WiFi 切换到有线连接可能并不总是可行,但可能只会缩短大约五毫秒的时间。

你的电脑足够玩游戏吗?有时游戏在 Wine 下的性能会不佳,而且,如果游戏无法在往返时间内处理数据包(游戏服务器的延迟通过测量pingtraceroute加倍),那么瓶颈实际上不是网络。

你的 ping 值重要吗?大多数实时游戏需要插值才能顺利运行。这意味着你实际上是在“过去”玩。例如,Source 游戏中每个玩家过去的运行时间为 0.1 秒,这意味着所有延迟为两位数的玩家实际上都在平等的场地上进行游戏。就我个人而言,我在美国的 TF2 服务器上玩 160 ping,并没有遇到太多问题。在这里阅读更多内容。 阅读此处有关 Unreal 网络堆栈的信息。


Chu*_*k R 0

我父亲是 TCP Doctor 或 Windows 中类似程序的忠实粉丝,因为他发誓使用它他的互联网速度快得多。就我个人而言,我从未看到任何差异。但是,他确实问我如何在 Linux 中做到这一点。他非常失望,无法使用该程序。所以,我做了我的研究。你是对的,Linux 自动主动调整 TCP 接收窗口和许多其他 TCP 方面。除非你遇到真正的问题,否则我会保持原样。

但是,如果您觉得必须调整它,这里有一个看起来不错的参考(但请记住,他们谈论的所有这些文件都会由内核自动管理和调整,除非您在运行时修改它们):http: // www.speedguide.net/articles/linux-tweaking-121