

XGameStreamingGetDisplayDetails 和 XGameStreamingSetResolution 時,遊戲在不同裝置上的轉譯
另一方面,下一張圖說明使用上述 API 將長寬比設定為 4:3 時,相同遊戲在不同裝置上的轉譯方式。請注意,在平板電腦上轉譯時空白區域已消失。


XGameStreamingGetDisplayDetails 和 XGameStreamingSetResolution 時,遊戲在不同裝置上的轉譯
XGameStreamingGetDisplayDetails 會傳回指定用戶端的顯示詳細資料。這可用來做出明智的決策,例如要以哪些自訂長寬比轉譯,或要使用哪個解析度來啟用 DirectCapture。DirectCapture 的設計目的是在作品呈現相容畫面時將伺服器延遲降至最低,可消除大約 16 到 72 毫秒的延遲。每款遊戲的延遲降低幅度各不相同,因為這取決於遊戲的轉譯輸出。
作品決定解析度之後,就應使用 XGameStreamingSetResolution。此 API 會設定串流的解析度。
這些 API 會公開 DirectCapture 的需求和用戶端的慣用解析度,讓不同的作品都能採用。
必須遵循最小值/最大值需求以及其他 DirectCapture 規則。
如何正確使用這些 API
- 連線串流
-
取得顯示器的詳細資料
若要取得顯示器的詳細資料,遊戲可以呼叫
XGameStreamingGetDisplayDetails,這會傳回指定用戶端的顯示詳細資料。 -
挑選解析度
這取決於遊戲。有數個選項,例如
a. 使用
preferredWidth/preferredHeight作為最佳相符項目。 b. 使用XGameStreamingDisplayDetails,在預先設定的一組已測試解析度中尋找最接近的解析度。 c. 為遊戲的 PC 版本開啟解析度選擇器,讓玩家選擇解析度。請考慮將解析度限制在maxWidth、maxHeight和maxPixels的範圍內。 -
設定串流解析度
呼叫
XGameStreamingSetResolution,將串流解析度變更為新的轉譯解析度。最好是在回應使用者動作時呼叫,例如串流開始、調整大小、旋轉裝置動作等。 請注意,此解析度不需要符合 preferredWidth/preferredHeight。如果不相符,串流可能會縮放以符合螢幕大小,並加入上下或左右黑邊以填滿剩餘空間。[!NOTE] 請務必注意,設定串流解析度需要時間、會使用有限的資源,而且會產生玩家可見的效果,因此應該很少呼叫此 API;例如,在新用戶端連線或變更其慣用解析度時。
每 200 毫秒呼叫XGameStreamingSetResolution超過一次會造成短暫的拉伸。此 API 並非即時安全。 - 開始轉譯 轉譯自訂解析度應與轉譯其他解析度相同:設定您的視窗大小,並以新的解析度設定您的背景緩衝區。
