Skip to main content
XBOX Game Streaming 可讓您根據電視以外裝置 (例如手機、平板電腦和其他裝置) 的輸出解析度,自訂遊戲的解析度。這有助於在各種裝置上提供更豐富的體驗。我們推出了 XGameStreamingGetDisplayDetails 和 XGameStreamingSetResolution,讓您可以將串流從 XBOX 的 16:9 長寬比切換為符合手機、平板電腦等許多不同裝置的長寬比。 例如,下圖說明在串流環境中未做任何變更時,XBOX 遊戲在一般 16:9 電視螢幕上與在直向模式的平板電腦或手機上的轉譯方式。 橫向平板電腦上的 XBOX 標誌,上下有黑邊 直向平板電腦上的 XBOX 標誌,上下有黑邊 圖 1. 未使用 XGameStreamingGetDisplayDetails 和 XGameStreamingSetResolution 時,遊戲在不同裝置上的轉譯 另一方面,下一張圖說明使用上述 API 將長寬比設定為 4:3 時,相同遊戲在不同裝置上的轉譯方式。請注意,在平板電腦上轉譯時空白區域已消失。 填滿橫向平板電腦螢幕的 XBOX 標誌 填滿 16:9 電視螢幕的 XBOX 標誌 圖 2. 使用 XGameStreamingGetDisplayDetails 和 XGameStreamingSetResolution 時,遊戲在不同裝置上的轉譯 XGameStreamingGetDisplayDetails 會傳回指定用戶端的顯示詳細資料。這可用來做出明智的決策,例如要以哪些自訂長寬比轉譯,或要使用哪個解析度來啟用 DirectCapture。DirectCapture 的設計目的是在作品呈現相容畫面時將伺服器延遲降至最低,可消除大約 16 到 72 毫秒的延遲。每款遊戲的延遲降低幅度各不相同,因為這取決於遊戲的轉譯輸出。 作品決定解析度之後,就應使用 XGameStreamingSetResolution。此 API 會設定串流的解析度。 這些 API 會公開 DirectCapture 的需求和用戶端的慣用解析度,讓不同的作品都能採用。
必須遵循最小值/最大值需求以及其他 DirectCapture 規則。
請注意,雖然這些 API 也存在於家用主機上,但為了維持電視相容性,它們只允許使用標準解析度 (實際上等同於不執行任何作業)。

如何正確使用這些 API

  1. 連線串流
如果您先前未曾串流過遊戲,請依照此處的指示操作:遊戲串流測試必要條件
  1. 取得顯示器的詳細資料 若要取得顯示器的詳細資料,遊戲可以呼叫 XGameStreamingGetDisplayDetails,這會傳回指定用戶端的顯示詳細資料。
  2. 挑選解析度 這取決於遊戲。有數個選項,例如 a. 使用 preferredWidth/preferredHeight 作為最佳相符項目。 b. 使用 XGameStreamingDisplayDetails,在預先設定的一組已測試解析度中尋找最接近的解析度。 c. 為遊戲的 PC 版本開啟解析度選擇器,讓玩家選擇解析度。請考慮將解析度限制在 maxWidth、maxHeight 和 maxPixels 的範圍內。
  3. 設定串流解析度 呼叫 XGameStreamingSetResolution,將串流解析度變更為新的轉譯解析度。最好是在回應使用者動作時呼叫,例如串流開始、調整大小、旋轉裝置動作等。 請注意,此解析度不需要符合 preferredWidth/preferredHeight。如果不相符,串流可能會縮放以符合螢幕大小,並加入上下或左右黑邊以填滿剩餘空間。
    [!NOTE] 請務必注意,設定串流解析度需要時間、會使用有限的資源,而且會產生玩家可見的效果,因此應該很少呼叫此 API;例如,在新用戶端連線或變更其慣用解析度時。
    每 200 毫秒呼叫 XGameStreamingSetResolution 超過一次會造成短暫的拉伸。此 API 並非即時安全。
  4. 開始轉譯 轉譯自訂解析度應與轉譯其他解析度相同:設定您的視窗大小,並以新的解析度設定您的背景緩衝區。
如果您想要試試看,請參考我們的範例 這裡。

另請參閱

自訂解析度最佳做法 使用自訂解析度進行測試 (NDA 主題)
Last modified on October 6, 2026