次の方法で共有


ゲーム ストリーミング待機時間の測定

このトピックを使用すると、タイトルの待機時間を測定することができます。 ゲーム ストリーミングの待機時間は、ネットワークに待機時間が発生している場合およびストリーミングに必要な追加処理がある場合に発生します。 図 1 に示すように、ゲーム ストリーミングはいくつかのステージがあります。

図 1 Xbox ゲーム ストリーミングの異なるステージを示しています。

ゲーム ストリーミングの異なるステージのスクリーンショット

ゲーム エンジン

図 1 に示すように、ゲームにはプレイヤーの入力を受けてからフレームをレンダリングするまでの間に、いくつかのステージがあるのが一般的です。 ゲームによっては、数ミリ秒で済むものから数百ミリ秒かかるものまであります。

ゲーム エンジンの待機時間はストリーミング サーバーと Xbox 本体の間では違いはありませんが、これがストリーミングのその他の待機時間と合わさった場合、ユーザーはその影響をより強く感じるかもしれません。 ゲーム エンジンの待機時間およびフレーム レートの最適化を行うことで、ゲームでユーザーに対して発生する待機時間を減らすことができます。

サーバー

図 1 に示す通り、Xbox Streaming Server の時間の残りの部分は、クライアントに送信するフレームの準備に使われています。 この大部分は、GPU からフレームを取得するキャプチャー ステージおよび、フレームのスケーリングと圧縮を行ってネットワーク帯域用に最適化を行うエンコード ステージにおいて実行されます。

ネットワーク

Xbox サーバーはビデオをストリーミング クライアントに送信し、インターネットから入力を受信します。 ネットワーク接続の待機時間は、次の要因に基づいて変動します。

  • クライアント デバイスとサーバーとの間の物理的な距離。
    • Microsoft Corporation は、サーバーを世界中の Azure データセンターに展開し、可能な限り距離を縮めています。 Xbox 本体を使用してストリーミングを行っているユーザーの場所が遠い場合があります。
  • ユーザーのインターネット接続の速度。
  • ユーザーのインターネット接続とハードウェアの種類。
    • たとえば、2.4 ギガヘルツ (GHz) の無線接続では多くの場合、5 GHz の接続よりも待機時間が長くなります。 一部の ISP では、待機時間の増加につながるバッファリング戦略が使用されています。

ネットワークの待機時間は時間の経過と共に変化し、パケットごとに変化する場合すらあります。 待機時間のばらつきは、ISP 戦略、インターネット ハードウェアを介したパス、および物理的な変化によって発生する可能性があります。

たとえば、移動中の車内でスマートフォンを使ってゲームをプレイしているユーザーの待機時間は一定ではなく、基地局が切り替わるときに急上昇します。 XGameStreamingGetStreamAddedLatency ではこれを考慮して、待機時間の標準偏差 (「ジッター」とも呼ばれます) を返します。

ストリーミング ネットワークにおける待機時間のシミュレーションの詳細については、「Simulating latency while testing your game (ゲームのテスト中に待機時間をシミュレーションする)」を参照してください。

クライアント

クライアントは、ビデオ フレームを受信した場合、それをデコードして独自のグラフィック スタックで表示する必要があります。

デコーディングにかかる時間は、クライアントのグラフィック ハードウェアによって決まります。 また、ほとんどのクライアントでは、次のフレームを表示するには、ローカル vSync タイマーを待機する必要があります。 60 Hz の画面を持つクライアントでは、この待機時間は平均で 8ms です。

テレビに接続された Xbox 本体でプレイするゲームと同じように、ストリーミング クライアントは独自の待機時間を持つディスプレイを使用します。

ディスプレイの待機時間は、待機時間がわずか数ミリ秒の高速なゲーム モニターから、ゲーム モードのない、数百ミリ秒かかる、安価なモバイル ディスプレイや TV まで多岐にわたります。 ディスプレイは常に待機時間を報告するわけではないので、Xbox ゲーム ストリーミング API にはクライアントのディスプレイの待機時間は含まれていません。

コントローラーやタッチなどの入力方法にも待機時間があります。 コントローラーの Bluetooth® 接続では、顕著な遅延時間が発生する場合があります。 ディスプレイの待機時間と同様に、入力の待機時間は、クライアントでは測定できないため、Xbox ゲーム ストリーミング API では表現されません。

関連項目

ゲーム ストリーミング待機時間補正の概要
ゲームストリーミング待機時間補正の詳細
ゲームのテスト中に待機時間をシミュレーションする
XGameStreaming (API コンテンツ)