Skip to main content

DirectCapture

DirectCapture 是 XBOX Game Streaming 平台功能,可針對相容的畫面自動將伺服器延遲降至最低。XGameStreamingGetDisplayDetails API 可讓您查詢相容畫面的需求,以確保您的遊戲能夠利用 DirectCapture。相容畫面的需求說明如下。 XBOX Game Streaming 串流遊戲的方式是擷取 (複製) 所呈現的畫面,然後對畫面進行編碼以供串流。若未使用 DirectCapture,畫面會使用顯示硬體從輸入呈現參數轉換為用於編碼的格式。畫面在 Present Queue 中有 0-66 毫秒的延遲,然後在經過 Display Writeback (DWB) 擷取畫面時,會再增加 8.3 毫秒的延遲。在 Present Queue 中的時間取決於遊戲的畫面播放速率,以及是否使用雙重或三重緩衝等因素。8.3 毫秒的 Display Writeback 時間固定為 8.3 毫秒,因為它與 HDMI 時脈繫結。 不過,XBOX Game Streaming 伺服器並未連接 HDMI 顯示器,因此 DirectCapture 改用軟體實作而非顯示硬體來縮短這段時間。DirectCapture 藉由消除等候 VSync 以及等候雙重或三重緩衝翻轉等作業,可在大約 2-12 毫秒內擷取畫面以供編碼。這可將延遲減少最多 72 毫秒。 若要獲得較低的延遲,遊戲必須以與 DirectCapture 相容的參數進行呈現。
  • 支援的主機模式
    • Lockhart 分析模式
  • 支援的遊戲轉譯解析度
  • 支援的交換鏈格式
    • DXGI_FORMAT_R8G8B8A8_UNORM
    • DXGI_FORMAT_B8G8R8A8_UNORM
    • DXGI_FORMAT_R8G8B8A8_UNORM_SRGB
    • DXGI_FORMAT_B8G8R8A8_UNORM_SRGB
    • DXGI_FORMAT_R10G10B10A2_UNORM
    • DXGI_FORMAT_R9G9B9E5_SHAREDEXP
  • 支援的色彩空間
    • DXGI_COLOR_SPACE_RGB_FULL_G22_NONE_P709
DirectCapture 目前不支援上方未列出的呈現參數。例如,下列項目不受支援:
  • 遊戲轉譯解析度:XDK 遊戲的 3840x2160
  • HDR
  • 多個呈現平面
XGameStreamingGetDisplayDetails 可協助判斷要呈現哪些內容才能與 DirectCapture 相容,而 PIX 支援預計將於未來發行。

驗證您的作品是否使用 DirectCapture 進行串流

您可以檢查串流記錄檔,以驗證您的作品是否使用 DirectCapture 執行。

收集記錄檔

若要收集串流記錄檔:
  1. 開始執行遊戲
  2. 開始串流並使用其中一個內容測試應用程式 (CTA) 連線
  3. 遊玩遊戲的一小段
  4. 終止遊戲
  5. 中斷 CTA 的連線
  6. 等候 30 秒讓記錄完成寫入
  7. 將記錄複製到本機目錄,例如 C:\temp
    1. xbcp xt:\XStreamLogs\XStreamManagementService.etl c:\temp
    2. xbcp xt:\XStreamLogs\nanotrace.etl c:\temp

檢視轉換訊息

  1. 使用 Windows Performance Analyzer 開啟 XStreamManagementService.etl
  2. 在左窗格中以滑鼠右鍵按一下 System Activity,然後選擇 “Add graph to Analysis View”
  3. 在下方窗格中,展開 Microsoft.Xbox.StreamManagementService
  4. 尋找 Microsoft.Xbox.HostStreamingAgent 提供者,並視需要展開它。如果找不到,請重複上述收集記錄檔的步驟。
  5. 選取 DirectCaptureLog 工作,並視需要展開 Unknown Process
  6. 向右捲動,並尋找名為 0_Message、1_Message 等的資料行。每一個都是依序來自 DirectCapture 的訊息。如果有多個資料列,則會依時間排序。
  7. 如需每則訊息的意義,請參閱下表。這些訊息會提供 DirectCapture 轉換的順序,以及 DirectCapture 遭停用之任何情況的原因。

詳細畫面資訊

  1. 使用 Windows Performance Analyzer 開啟 nanotrace.etl
  2. 瀏覽至 “Microsoft.Xbox.CloudStreaming” 提供者並選取 “VideoFrameCaptureSourceChanged” 工作,然後展開處理程序 “ApplicationClipService.exe”,以查看所有 “VideoFrameCaptureSourceChanged” 事件。
  3. 檢查 “NewCaptureSource” 欄位
    • 當值為 “DCap” 時,表示您的作品從此時開始以 DirectCapture 的較低延遲進行串流
    • 值為 “DWB” 表示未使用 DirectCapture,而是使用預設擷取機制。這會在下列情況發生:
      • 作品輸出與 DirectCapture 不相容的畫面
      • 系統在作品上方轉譯覆疊 (例如系統通知)

注意事項

另請參閱

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