web-dev-qa-db-ja.com

画面にピクセルを送信するよりも、トランスアトランティックpingの方が速いですか。

John Carmackツイート

画面にピクセルを送信するよりも速くヨーロッパにIPパケットを送信することができます。それはいくらですか?

もしこれがJohn Carmackでなければ、私はそれを「愚かなウェブ間」の下に提出したいと思います。

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

どうすればよいのでしょうか?

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

1つのIPパケットが米国のサーバーからヨーロッパのどこかに送信されるまでにかかる時間(ソフトウェアがパケットをトリガーした時点からポイントまでの時間)ドライバレベルを超えるソフトウェアで受信されたのですか?

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


大西洋横断接続がお金で買える最高級の光ファイバケーブルで、Johnが自分のISPのすぐ隣に座っていると仮定しても、データはIPパケットにエンコードされなければなりません。そこから壁の中のケーブルを通って別の建物へ、おそらくそこに数台のサーバーを飛び越えるでしょう(しかしそれはただ一つのリレーを必要とすると仮定しましょう)、海を渡って光子化されます。そして最後に別のネットワークカードによって解釈されます。それをやめましょう。

ピクセルに関しては、これはPCI Expressスロットを介して送信される単純なマシンWordで、バッファに書き込まれてから画面にフラッシュされます。 「単一のピクセル」がスクリーンバッファ全体をディスプレイに転送する結果になる可能性があるという事実を考慮しても、これが遅くなることはありません。ビットが「1つずつ」転送されるのではありません。それらの間の待ち時間なしで転送される連続的な電気インパルスです(正しい?)。

808
Konrad Rudolph

リモートホストにパケットを送信する時間は、pingによって報告される時間の半分です。これは、ラウンドトリップ時間を測定します。

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

ディスプレイの待ち時間を測定するために、ゲームコントローラをポーリングするスピンループに座って、ボタンが押されるたびに異なる色をクリアしてバッファを交換する小さなプログラムがあります。ゲームコントローラと画面の両方を240 fpsのカメラで表示したビデオを録画し、ボタンが押されてから画面に変化が表示されるまでのフレーム数を数えます。

ゲームコントローラは250 Hzで更新されますが、入力パスのレイテンシを直接測定する方法はありません(パラレルポートに物事を配線し、Sam命令をイン/アウトすることができればと思います)。対照実験として、私は170Hzの垂直帰線で古いCRTディスプレイで同じテストをします。エアロおよびマルチモニターは余分な待ち時間を招く可能性がありますが、最適な条件下では通常、ボタンが押されてから2つの240 Hzフレームで画面上のある時点(vsync無効)から色の変化が見られます。 USB HID 処理には8ミリ秒程度の待ち時間があるようですが、将来的にはこれをもっとうまく解決したいと思います。

デスクトップLCDモニターが画面に変更を表示するのに10 + 240 Hzのフレームを使用するのを見ることは珍しくありません。ソニーのHMZは、平均して約18フレーム、つまり合計70ミリ秒を超えていました。

これはマルチモニターの設定でしたので、数フレームがドライバーのせいです。

一部の待ち時間はテクノロジに固有のものです。テクノロジに応じて、LCDパネルの実際の変更には4〜20ミリ秒かかります。シングルチップ LCoS ディスプレイは、パックピクセルからシーケンシャルカラープレーンに変換するために1ビデオフレームをバッファする必要があります。レーザーラスターディスプレイは、ラスターリターンから前後のスキャンパターンに変換するために、ある程度のバッファリングを必要とします。フレームシーケンシャルまたはトップボトムスプリットステレオ3Dディスプレイでは、中央のフレームの半分の時間を更新することはできません。

OLED ディスプレイは、60 Hz CRTに相当する eMagin Z800 で示されるように、最高のものの中になければなりませんレイテンシに関しては、私がテストした他のどの非CRTよりも優れています。

ソニーの悪いパフォーマンスは、貧弱なソフトウェア工学によるものです。動き補間のようないくつかのTV機能は少なくとも1つのフレームをバッファリングすることを必要とし、そしてより多くから利益を得るかもしれない。フローティングメニュー、フォーマット変換、コンテンツ保護などのその他の機能はストリーミング方式で実装できますが、簡単な解決策は各サブシステム間でバッファリングすることです。システムによっては、最大で数十フレームに達する可能性があります。 。

これは非常に残念なことですが、すべて解決可能であり、将来の待ち時間についてはディスプレイメーカーに頼ることを望みます。

1318
John Carmack

いくつかのモニターはかなりの入力遅れを持つことができます

可能性のあるモニタとビデオカードを組み合わせたものと比較して、素晴らしいインターネット接続が可能です。

出典:

コンソールゲーム:ラグファクター•2ページ

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

ディスプレイはさらに5-10msを追加することができます

そのため、コンソールには最大210msのラグが発生する可能性があります。

そして、Davidのコメントによれば、パケット送信のための最良のケースは約70msであるべきです。

68
Akash

液晶ディスプレイの横に液晶ディスプレイを貼り付けて、画面いっぱいに時計やアニメーションを表示して記録するだけで、入力のずれをモニタに表示するのは非常に簡単です。 1秒以上遅れることがあります。これは、ゲーマーなどが気づいてからLCD製造元が締め付けているものです。

例えば。 Youtube Video:入力遅延テストVizio VL420M

35
JamesRyan