ヨーロッパにIPパケットを送るのは1ピクセルを画面に送るよりも速いんだ。それはどのようにf’dのアップですか?
もしこれがジョン・カーマックじゃなかったら “インターネットの愚かさ “に分類するよ
でもこれはジョン・カーマックだ
どうしてそうなるのでしょうか?
ツイートで具体的に何を意味しているのかという議論を避けるためにも、このような回答が欲しいところです
米国のサーバからヨーロッパのどこかに送信された1つのIPパケットを、ソフトウェアがパケットをトリガしてから、ドライバレベル以上のソフトウェアが受信するまでの時間を測定して、最良のケースでは、どのくらいの時間がかかりますか?
ドライバーレベル以上のソフトウェアがそのピクセルの値を変更した時点から測定されたピクセルが画面に表示されるまでに、最良のケースではどのくらいの時間がかかるのでしょうか?
大西洋横断接続がお金で買える最高の光ファイバーケーブルであり、ジョンが彼のISPのすぐ隣に座っていると仮定しても、データはまだIPパケットにエンコードされなければならず、メインメモリから彼のネットワークカードに渡り、そこから壁のケーブルを通って別の建物に入り、おそらくそこにいくつかのサーバー(しかし、それはちょうど1つのリレーを必要とすると仮定しましょう)、海を渡って光電変換され、光センサーによって電気インパルスに変換され、最終的に別のネットワークカードによって解釈されます。ここまでにしましょう
ピクセルに関しては、これは単純なマシンワードで、PCI Expressスロットを介して送信され、バッファに書き込まれ、スクリーンにフラッシュされます。シングルピクセル」という事実を考慮しても、画面のバッファ全体がディスプレイに転送されるという事実を考慮しても、これがどのように遅くなるのかがわかりません: ビットが「1つずつ」転送されるのではなく、むしろ、それらは連続した電気インパルスであり、それらの間のレイテンシなしで転送されます(でしょうか?)
833 Konrad Rudolph 2012-05-01
リモートホストにパケットを送信する時間は、往復時間を計測するpingで報告されている時間の半分です
私が計測していたディスプレイは、ソニー HMZ-T1のヘッドマウントディスプレイをPCに接続したものでした
ディスプレイのレイテンシを測定するために、私はスピンループでゲームコントローラをポーリングし、異なる色にクリアし、ボタンが押されるたびにバッファを交換する小さなプログラムを持っています。240 fps のカメラでゲームコントローラと画面の両方をビデオ録画し、ボタンが押されてから画面が変化を表示し始めるまでのフレーム数をカウントします
ゲームコントローラは250Hzで更新しますが、入力経路上のレイテンシを直接測定する方法はありません(まだパラレルポートに物を配線して、イン/アウトサム命令を使えればいいのですが)。制御実験として、私は170Hzの垂直リトレースを持つ古いCRTディスプレイで同じテストを行います。Aero と複数のモニタは余分なレイテンシを導入することができますが、最適な条件では、通常、ボタンが下に下がってから 2 つの 240 Hz のフレームで、画面上のある点から始まる色の変化を見ることができます (vsync は無効)。USB HIDの処理を通過するレイテンシは8msほどあるようですが、将来的にはこれをより正確に把握したいと思っています
デスクトップ型液晶ディスプレイでは、画面に変化を表示するのに10フレーム以上の240Hzのフレームが必要になることも珍しくない。ソニーのHMZでは平均18フレーム前後、つまり70以上のトータルミリ秒を記録していた
これはマルチモニターの設定だったので、数フレームはドライバーのせいです
レイテンシは技術に内在するものもあります。LCDパネルは、技術にもよりますが、実際に変化するまでに4~20ミリ秒かかります。シングルチップLCoSディスプレイは、パックされたピクセルからシーケンシャルなカラープレーンに変換するために、1つのビデオフレームをバッファリングする必要があります。レーザーラスターディスプレイは、ラスターリターンから前後の走査パターンに変換するために、ある程度のバッファリングが必要です。フレームシーケンシャルまたはトップボトムスプリットステレオ3Dディスプレイは、中間フレームの半分の時間を更新することはできません
OLEDディスプレイは、eMagin Z800で実証されたように、非常に優れたものでなければなりません
ソニーの性能の悪さは、ソフトウェアエンジニアリングの貧弱さに起因しています。モーション補間のようないくつかのテレビ機能は、少なくとも1フレームをバッファリングする必要があり、より多くの恩恵を受けることができます。フローティングメニュー、フォーマット変換、コンテンツ保護などの他の機能は、ストリーミング的に実装することができますが、簡単な方法は、各サブシステム間でバッファリングすることで、システムによっては半ダースのフレームを積み上げることができます
これは非常に残念なことですが、すべて修正可能なので、今後はレイテンシーについてもっとディスプレイメーカーに寄り添っていきたいと思っています
1363 John Carmack 2012-05-01
モニターによっては、入力ラグが大きくなることがあります
くだらないモニターとビデオカードのコンボに比べて、素晴らしいインターネット接続のための会計は、その可能性があります
Sources:
30FPSでは8フレーム/133msのベースライン性能が得られますが、ゲームが24FPSに落ちた2つ目のクリップでは、私が引き金を引いてからニコがショットガンを発射するアニメーションを開始するまでの間に12フレーム/200msの明らかな遅延があります。これは200msに画面からの追加の遅延を加えたものです。痛い
ディスプレイはさらに5-10msを追加することができます
だから、コンソールは最大210msのラグを持つことができます
また、Davidさんのコメントにあるように、ベストケースではパケットを送信するために約70ミリ秒でなければなりません
70 Akash 2012-05-01
モニター上での入力遅延のデモは非常に簡単で、CRTの隣にLCDを貼り付けて、画面を埋め尽くす時計やアニメーションを表示して記録するだけです。1つは1秒以上遅れることがあります。これは、ゲーマーなどが気付いてから、LCDメーカーが強化してきたことです
例えば、Youtube動画。入力遅延テストVizio VL420Mの
38 JamesRyan 2012-05-03