大西洋を横断するpingは、画面にピクセルを送信するよりも速いですか?

大西洋を横断するpingは、画面にピクセルを送信するよりも速いですか?

ジョン・カーマック ツイートした

画面にピクセルを送信するよりも速く、IP パケットをヨーロッパに送信できます。これはどれほどひどいことでしょうか?

そして、もしこれがジョン・カーマックでなかったら、私はこれを「インターネットの愚かさ」として分類するだろう。

しかし、これはジョン・カーマックです。

どうしてこれが本当なのでしょうか?

ツイートが正確に何を意味しているかについての議論を避けるために、私が答えてほしいのは次のことです:

ソフトウェアがパケットをトリガーした時点から、ドライバー レベルより上のソフトウェアによって受信されるまでの時間を測定して、米国のサーバーからヨーロッパのどこかに単一の IP パケットを送信するには、最良の場合でどれくらいの時間がかかりますか。

最良の場合、ドライバー レベルより上のソフトウェアがそのピクセルの値を変更した時点から測定して、ピクセルが画面に表示されるまでにどれくらいの時間がかかりますか。


大西洋横断接続がお金で買える最高級の光ファイバー ケーブルであり、ジョンが ISP のすぐ隣に座っていると仮定しても、データは IP パケットにエンコードされ、メイン メモリからネットワーク カードに送られ、そこから壁のケーブルを通って別の建物に入り、おそらくそこにあるいくつかのサーバーを経由し (ただし、必要なのは 1 つのリレーだけだと仮定しましょう)、海を越えて光子化され、光センサーによって電気インパルスに再変換され、最後に別のネットワーク カードによって解釈される必要があります。ここまでにしましょう。

ピクセルについては、これは PCI Express スロットを介して送信され、バッファーに書き込まれ、その後画面にフラッシュされる単純なマシン ワードです。「単一のピクセル」では画面バッファー全体がディスプレイに送信される可能性が高いという事実を考慮しても、これが遅くなる理由がわかりません。ビットが「1 つずつ」転送されるのではなく、ビット間に遅延なく転送される連続した電気インパルスです (そうですよね?)。

答え1

リモート ホストにパケットを送信する時間は、往復時間を測定する ping によって報告される時間の半分です。

私が測定していたディスプレイはソニー HMZ-T1PCに接続されたヘッドマウントディスプレイ。

ディスプレイの遅延を測定するために、スピン ループ内に常駐し、ゲーム コントローラーをポーリングし、ボタンが押されるたびに別の色にクリアしてバッファーを交換する小さなプログラムを用意しました。ゲーム コントローラーと画面の両方を 240 fps カメラでビデオ録画し、ボタンが押されてから画面に変化が現れ始めるまでのフレーム数をカウントします。

ゲーム コントローラは 250 Hz で更新されますが、入力パスの遅延を直接測定する方法はありません (パラレル ポートに配線して、入出力 Sam 命令を使用できればよいのですが)。対照実験として、170 Hz の垂直リトレースを備えた古い CRT ディスプレイで同じテストを実行します。Aero と複数のモニターによって遅延が発生する可能性がありますが、最適な状況では、ボタンが押されてから 240 Hz フレーム後に、画面上のどこかの時点で色の変化が見られるようになります (vsync が無効)。USBHID処理については、まだよくわかっていませんが、今後はこれをさらに詳しく確認したいと思います。

デスクトップ LCD モニターでは、画面に変化が表示されるまでに 10 フレーム以上 (240 Hz) かかることは珍しくありません。Sony HMZ では平均約 18 フレーム、つまり合計 70 ミリ秒以上かかりました。

これはマルチモニター設定で発生したため、いくつかのフレームはドライバーのせいです。

ある程度の遅延は技術に固有のものです。LCDパネルは技術によって異なりますが、実際に変更するのに4~20ミリ秒かかります。シングルチップLCoSディスプレイは、パックされたピクセルから連続したカラー プレーンに変換するために、1 つのビデオ フレームをバッファリングする必要があります。レーザー ラスター ディスプレイは、ラスター リターンから前後のスキャン パターンに変換するために、ある程度のバッファリングが必要です。フレーム シーケンシャルまたは上下分割ステレオ 3D ディスプレイは、半分の時間でフレームの途中を更新できません。

有機ELディスプレイは、イーマジンZ800これは、遅延が 60 Hz CRT に匹敵し、私がテストした他のどの非 CRT よりも優れています。

Sony のパフォーマンスが悪いのは、ソフトウェア エンジニアリングが貧弱なためです。モーション補間などの一部の TV 機能では、少なくとも 1 フレームのバッファリングが必要であり、さらにバッファリングするとさらに効果が得られる可能性があります。フローティング メニュー、フォーマット変換、コンテンツ保護などのその他の機能は、ストリーミング方式で実装できますが、簡単な方法は各サブシステム間でバッファリングすることです。システムによっては、最大 6 フレームが蓄積されることがあります。

これは非常に残念なことですが、すべて修正可能なので、今後は遅延についてディスプレイメーカーにもっと働きかけていきたいと思っています。

答え2

一部のモニターでは入力遅延が顕著になる場合があります

ひどいモニターとビデオカードの組み合わせと比較して、素晴らしいインターネット接続を考慮すると、それは可能です

出典:

コンソールゲーム: 遅延要因 • ページ 2

つまり、30FPS では 8 フレーム/133 ミリ秒のベースライン パフォーマンスが得られますが、ゲームが 24FPS に低下した 2 番目のクリップでは、私がトリガーを引いてから Niko がショットガンを発射するアニメーションを開始するまでの間に、明らかに 12 フレーム/200 ミリ秒の遅延があります。これは 200 ミリ秒に画面からの遅延が加わったものです。痛い。

ディスプレイはさらに5~10ms追加される可能性がある

つまり、コンソールは最大210msの遅延が発生する可能性がある。

そして、Davidのコメントによれば、パケットを送信する場合の最良のケースは約70ミリ秒であるはずだ。

答え3

モニターの入力遅延を実証するのは非常に簡単です。CRT の横に LCD を置き、画面いっぱいに時計やアニメーションを表示して記録するだけです。1 秒以上遅れる場合があります。ゲーマーなどがこれに気付いて以来、LCD メーカーはこれに対して厳しくなっています。

例えば。Youtube ビデオ: 入力遅延テスト Vizio VL420M

関連情報