Skip to main content

XGameStreamingSetResolution

設定串流的解析度。

語法

參數

width   _In_
類型:uint32_t
要設定的串流解析度寬度。 height   _In_
類型:uint32_t
要設定的串流解析度高度。

傳回值

類型:HRESULT 如果成功,則傳回 S_OK;否則傳回錯誤碼。

可能的錯誤

如需錯誤碼清單,請參閱錯誤碼。

備註

以非標準解析度呼叫此 API 時,只有在 XBOX Game Streaming 伺服器、XBOX Series X Dev Kit 和 XBOX Series S Test Kit 上才會成功。720p 和 1080p 等標準解析度則不論硬體為何都會成功。原因是零售版 XBOX 只能透過遠端遊玩進行串流,而且可能仍在將視訊輸出到電視,因此使用非標準解析度會產生失真的影像。 寬度和高度最小必須為 640x360,最大值可在 XGameStreamingDisplayDetails 的 maxWidth 和 maxHeight 欄位中找到,而該結構可從 XGameStreamingGetDisplayDetails 擷取。 以 width * height 計算出的最大像素數,必須等於或小於編碼器的上限。您可以使用 XGameStreamingGetDisplayDetails API 找到此上限。此值未來可能會提高。 width 和 height 必須可被 8 整除。 此 API 可以視需要頻繁呼叫,但串流解析度每 200 毫秒只能變更一次。在該 200 毫秒時間範圍內發生的所有呼叫中,最後一個解析度會在該時間範圍結束後套用。 請注意,此 API 會為所有已連線用戶端設定串流的解析度。這表示當有多個用戶端連線時,必須特別考量以判斷對遊戲而言最佳的選項。這可能表示要使用標準 16:9 解析度,也可能表示要嘗試找出最適合所有用戶端的解析度。
變更串流解析度會修改 ID3D12CommandQueue::PresentX 中的檢視矩形縮放。D3D12XBOX_PRESENT_PLANE_PARAMETERS.pDestPlacementBase 的 0.0-1.0 縮放比例是指傳遞給 XGameStreamingSetResolution 的高度和寬度,而不是原本所指的標準 1920x1080 或 3840x2160 解析度。

範例

需求

標頭: xgamestreaming.h
程式庫: xgameruntime.lib
支援的平台: Windows、XBOX One 系列主機和 XBOX Series 主機

另請參閱

XGameStreaming
XGameStreamingDisplayDetails
XGameStreamingGetDisplayDetails
自訂解析度概觀
Last modified on October 6, 2026