web-dev-qa-db-ja.com

ゲームのTCPレイテンシーを減らす方法は?

私はゲームに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の待ち時間を短縮するためにできることはありますか?

6
Anonymous

まあ、あなたはあなたのコンピュータの外の他のすべてがうまく振る舞うことを確かめるべきです。

ゲームサーバーに対して traceroute を実行します。遅延はどこで増加しますか?それは正常ですか、そうでないはずの場所で起こっていますか?

たとえば、ニューヨークからロンドンへのホップは遅延を追加します。ルーターから最初のホップまでの50ミリ秒は、おそらく最後の1マイルの機器の故障を意味します。隣人と再確認してください。

ルーターまでのレイテンシーはどれくらいですか? Wi-Fiから有線接続への切り替えは常に可能とは限りませんが、5ミリ秒程度しか削らないかもしれません。

あなたのコンピューターはゲームに十分ですか?時々、ゲームはWineで最適以下のパフォーマンスを発揮します。また、ゲームが往復時間内にパケットを処理できない場合(測定されるゲームサーバーへのレイテンシーpingまたはtracerouteを介して))ボトルネックは実際にはネットワークではありません。

pingは問題になりますか?ほとんどのリアルタイムゲームでは、スムーズに実行するには補間が必要です。これは、実際には「過去に」プレイしていることを意味します。たとえば、ソースゲームでは、過去0.1秒ですべてのプレーヤーが実行されます。つまり、レイテンシが2桁のプレーヤーはすべて、実際に偶数フィールドでプレーしています。個人的には、私は米国のTF2サーバーで160 pingでプレイしていますが、実際にはそれほど問題はありません。 詳細はこちらnrealネットワーキングスタックについてはこちら

2
badp

私の父はTCP DoctorまたはWindowsでのそのようなプログラムの大ファンでした。なぜなら、彼は自分のインターネットがすっかり高速になったと誓ったからです。個人的に、私は違いを見たことがありません。しかし、彼はLinuxでどのようにできるのかと私に尋ねました。彼はとても失望したので、プログラムを使用できませんでした。それで、私は研究をしました。あなたは正しい、LinuxはTCP受信ウィンドウと他の多くのTCPアスペクトを自動的に自動的に調整します。あなたが本当の問題を抱えていない限り、私はそれをそのままにしておきます。

ただし、ここで微調整する必要があると思われる場合は、まともな参照です(ただし、これらのファイルはすべて、実行時に変更しない限り、カーネルによって自動的に管理および調整されます): http://www.speedguide.net/articles/linux-tweaking-121

0
Chuck R