XGameStreamingGetLastFrameDisplayed
ストリーミング クライアントの画面に最後に表示されたフレームのフレーム パイプライン トークンを取得します。
構文
HRESULT XGameStreamingGetLastFrameDisplayed(
XGameStreamingClientId client,
D3D12XBOX_FRAME_PIPELINE_TOKEN* framePipelineToken
)
パラメーター
client _In_
型: XGameStreamingClientId
クエリ対象のストリーミング クライアント デバイスの ID。
framePipelineToken _Out_
型: D3D12XBOX_FRAME_PIPELINE_TOKEN*
クライアント デバイスに最後に表示されたフレーム パイプライン トークン。
戻り値
型: HRESULT
成功した場合は S_OK を返し、それ以外の場合はエラー コードを返します。
返される可能性のあるエラー
エラー コード | エラー値 | エラーの原因 |
---|---|---|
E_GAMESTREAMING_NOT_INITIALIZED | 0x89245400 | XGameStreaming ランタイムが初期化されていません。 他の API を呼び出す前に XGameStreamingInitialize を呼び出してください。 |
E_GAMESTREAMING_CLIENT_NOT_CONNECTED | 0x89245401 | 指定されたクライアントが接続されていません。 |
E_GAMESTREAMING_NO_DATA | 0x89245402 | 要求されたデータは利用できません。 データは後で利用可能になる場合があります。 |
解説
プレイヤーがゲームをストリーミングしているとき、ユーザーの画面に特定のフレームが表示されたことの確認に基づいてゲームの動作を変更する場合、XGameStreamingGetLastFrameDisplayed
を利用できます。
ゲームでこの機能を利用する例を以下に示します。
- ビジュアル タイマーが有効期限切れになり、その前にプレーヤーが何もしませんでした。
- 適切なウィンドウ内にアクションが実行されませんでした。
- プレイヤーは、制限を超えて動作を継続し、復元するためのアクションを実行しませんでした。
XGameStreamingGetLastFrameDisplayed
は、アクションを実行すべきだったが実行しなかった場合を判定するときに使用する必要があります。 プレイヤーによって入力が 実行された ときに表示されたものをゲームが判断する場合、ゲームは、XGameStreamingGetAssociatedFrame を利用する必要があります。
例
// In this example, when processing input, the game would like to pass along the last frame
// that was being displayed to the player so that their simulation engine can take that into account.
// The framePipelineToken was initially captured at the callback of WaitFrameEventX
void Game::Update(DX::StepTimer const& timer)
{
...
D3D12XBOX_FRAME_PIPELINE_TOKEN framePipelineToken = D3D12XBOX_FRAME_PIPELINE_TOKEN_NULL;
if SUCCEEDED(XGameStreamingGetLastFrameDisplayed(clientId, &framePipelineToken)
{
SimulateBasedOnLastFrameDisplayed(framePipelineToken);
}
else
{
// don't have last token, potentially simulate based on current frame
SimulateBasedOnCurrentFrame();
}
...
}
要件
ヘッダー: xgamestreaming.h
ライブラリ: xgameruntime.lib
サポートされているプラットフォーム: Windows、Xbox One ファミリー本体、Xbox Series 本体
関連項目
XGameStreamingGetAssociatedFrame
XGameStreaming
ゲーム ストリーミング待機時間補正の概要