- 將部分高動態範圍 (HDR) 處理卸載至顯示硬體。
- 搭配 120 赫茲 (Hz) 顯示器實現更多畫面播放速率選項。
- 使用 Dolby Vision 與 Auto HDR 等功能。
此資訊截至 2022 年 4 月為最新。之後可能已有數項功能變更或更新。
將 GPU 工作卸載至顯示硬體
本節說明如何將部分處理從 GPU 移至顯示硬體。HDR 場景轉譯
大多數遊戲會使用高精確度的轉譯目標格式,在中繼背景緩衝區中轉譯 HDR 值。部分 PC 遊戲使用每像素 64 位元 (bpp) 或 128 bpp 的格式。在主機上轉譯 HDR 場景時,建議您盡量減少使用 64 bpp 與 128 bpp 的轉譯目標。建議您改用 32 bpp 或更低,原因如下。- 停用 Alpha 混色時,您可以透過 render backend plus (RB+) 獲得雙倍速率的色彩匯出。
- 降低記憶體、頻寬與快取壓力。
- 這在 XBOX Series S 上特別重要。
- 色彩精確度更高,非常明亮的藍色除外
- 全速率讀取、寫入與混色

交換鏈結緩衝區
XBOX 支援的 HDR 標準之一是 HDR10。它要求主機使用 Rec.2020 色彩空間與 ST.2084 伽瑪曲線將影像傳送至 HDR10 顯示器。顯示硬體可以進行色彩轉換並套用伽瑪曲線,進而提升效能。 色彩空間轉換有兩個選項。- 在 GPU 上處理轉換
- 在顯示硬體上處理轉換。
色彩空間轉換:選項 1
遊戲可以使用 GPU 計算,在後製處理轉譯階段中進行色彩空間轉換。 圖 2. 使用 GPU 計算進行色彩空間轉換。
- 遊戲以 Rec.709 轉譯場景。
- 著色器在 GPU 上將 Rec.709 轉換為 Rec.2020。
- 交換鏈結的色彩值為 Rec.2020。
- 顯示硬體將這些值傳遞至顯示器。
Present 旗標 DXGI_COLOR_SPACE_RGB_FULL_*_NONE_P2020。它會向驅動程式表示您的交換鏈結具有 Rec.2020 色彩空間值。
色彩空間轉換:選項 2
色彩空間轉換也可以由顯示硬體完成。- 交換鏈結值為 Rec.709 或 P3-D65。
Present使用下列其中一個旗標。- DXGI_COLOR_SPACE_RGB_FULL_*_NONE_P709.
- DXGI_COLOR_SPACE_RGB_FULL_*_NONE_D65P3.

- 遊戲以 Rec.709 或 P3-D65 轉譯場景。
- 不在 GPU 上進行處理。交換鏈結的值位於 Rec.709 色彩空間或 P3-D65 色彩空間。
- 顯示硬體將色彩空間轉換為顯示器所需的 Rec.2020 色彩空間。
Present使用下列其中一個旗標。
- DXGI_COLOR_SPACE_RGB_FULL_*_NONE_P709
- DXGI_COLOR_SPACE_RGB_FULL_*_NONE_D65P3
範例:以 Rec.709 轉譯紅色蘋果
圖 4. 範例:以 Rec.709 轉譯紅色蘋果。

伽瑪曲線處理選項
有兩種伽瑪曲線處理選項可用。- 在 GPU 上處理伽瑪曲線
- 在顯示硬體上處理伽瑪曲線
伽瑪曲線處理:選項 1
圖 6. 使用 GPU 計算的伽瑪曲線處理。
- 遊戲轉譯線性值。
- 遊戲使用著色器將線性值轉換為 ST.2084 伽瑪值。
- 交換鏈結緩衝區現在包含套用 ST.2084 伽瑪曲線的非線性正規化值。
- 由於顯示器使用 ST.2084 值,顯示硬體不做任何處理。
- 使用 R10G10B10A2_UNORM 轉譯目標格式或 R9G9B9E5_SHAREDEXP 轉譯目標格式來處理伽瑪曲線。
Present使用DXGI_COLOR_SPACE_RGB_FULL_G2084_NONE_*旗標。
Present 旗標包含 G2084。這會向硬體顯示驅動程式表示交換鏈結所含的值已套用 ST.2084 伽瑪曲線。
遊戲在 GPU 上進行處理。顯示硬體負責傳遞資料。
伽瑪曲線處理:選項 2
圖 7. 使用顯示硬體的伽瑪曲線處理。
- 遊戲轉譯線性值。
- 交換鏈結值為線性正規化值,1.0 代表 10,000 尼特。
- 您必須使用 R9G9B9E5_SHAREDEXP 轉譯目標格式。
Present使用 DXGI_COLOR_SPACE_RGB_FULL_G10_NONE_* 旗標。
Present 旗標包含 G10 值,這是 gamma 1.0 的縮寫。這會向硬體顯示驅動程式表示交換鏈結包含線性值,且仍須套用 ST.2084 伽瑪曲線。
建議的影像解決方案
有許多會發生色彩轉換的格式組合可用。下列建議可提供高精確度、明亮且色彩豐富的影像,同時減少 GPU 處理。 圖 8. 遊戲以 Rec.709 轉譯。


Present 旗標指定 G10。
圖 11. 顯示硬體的色彩轉換與伽瑪曲線。

色域擴展
色域擴展是一個經常被忽略的程序。不過,它成本低廉、容易實作,而且能提升遊戲的圖形表現。 圖 12. 影像範例。
在圖 12 中,左側影像顯示一個紅綠燈。紅燈很亮,但呈現的是擴散的橘色而非紅色。
接下來的兩張影像模擬 Rec.709 與較寬色彩空間之間的差異。中間的 Rec.709 影像顯示藍天,但飽和度降低。在右側影像中,較大的 P3 色彩空間同樣有藍天,但保留了藍色。此比較說明較大的色彩空間如何維持較佳的色彩飽和度。這是因為 Rec.709 的色彩體積較小。色彩越亮,體積就越小。這會導致明亮色彩的飽和度降低。
圖 13. 色彩體積與飽和度。

標準動態範圍自動色調對應
標準動態範圍 (SDR) 自動色調對應是另一項將 GPU 工作移至顯示硬體時能帶來好處的技術。SDR 自動色調對應是一種程序,由遊戲提供 HDR 影像,再由 XBOX 系統自動從中建立 SDR 影像。SDR 影像用於 Game DVR、廣播與串流等即時情境。 SDR 自動色調對應具有下列優點。- 將工作移至顯示硬體,提升 GPU 效能
- 減少記憶體與頻寬
- 簡化遊戲程式碼
- 遊戲將 SDR 影像轉譯到第二個交換鏈結中,這會使用 GPU 處理與額外的記憶體。
- 遊戲不轉譯第二個交換鏈結,而是由 XBOX Series X|S 顯示硬體產生影像,不會耗費任何 GPU 效能或記憶體用量。
使用顯示硬體節省時間與記憶體
如果您的遊戲以 4K 轉譯並使用三重緩衝,就需要為第二個交換鏈結配置 96 MB 的額外記憶體,以轉譯經色調對應的 SDR 影像。不過,如果由顯示硬體進行處理,就不需要配置記憶體。 在 GPU 方面,節省的程度取決於遊戲如何處理其色調對應器與色彩分級。如果色調對應器受限於算術邏輯單元 (ALU),就能省下色調對應器的成本。 如果色調對應器受限於頻寬,您可以使用 3D LUT。這可以為您節省:- 在 XBOX Series X 上以 4K 執行時 120 微秒。
- 在 XBOX Series S 上以 1440p 執行時 120 微秒。
顯示平面
在顯示硬體而非 GPU 上處理顯示平面,可帶來額外的效能提升。使用顯示硬體時,您可以為每個顯示平面使用不同的重新整理頻率、色彩空間與解析度。例如,您可以以 4K 轉譯 UI 並以 30 Hz 更新,同時以 1440p 轉譯場景並以 60 Hz 更新。接著,顯示硬體會縮放 UI 元素並將其合成到遊戲的最終影像上。 圖 14. 顯示硬體合成平面。
圖 14 顯示硬體顯示器合成兩個不同的平面。
XBOX One 上的合成功能採用率偏低,原因如下:
- 它是在非線性伽瑪空間中完成。
- 它無法與 HDR 搭配使用。
- 是在線性伽瑪空間中完成。
- 如果您使用自動色調對應,則可以與 HDR 搭配使用。
120 Hz 與 60 FPS+
120 Hz 顯示器最大的好處可能是玩家可以玩 120 FPS 的遊戲。不過,120 Hz 顯示器也可以搭配其他畫面播放速率使用。HDMI 頻寬
更高的解析度、更高的重新整理頻率與 HDR 都需要更高的 HDMI 頻寬。較高的頻寬會限制主機可以傳送至顯示器的內容。HDMI 規格定義了 HDMI 裝置之間可傳輸的最大頻寬。HDMI 2.1
- 48 Gbps 的頻寬足以同時傳送 4K HDR 與 120 Hz。
- 部分顯示器僅在一個連接埠上支援 HDMI 2.1,其他連接埠則為 HDMI 2.0。
HDMI 2.0
- 18 Gbps 的頻寬不足以同時傳送 4K HDR 與 120 Hz。
- 可用的主機顯示設定為 1080p 120 Hz 或 1440p 120 Hz。
- XDisplayTryEnableHdrMode
- GetDisplayModeListX
- SetFrameIntervalX
- ScheduleFrameEventX

60FPS Plus 模式
120 Hz 顯示器能讓您做的不只是以 120 FPS 轉譯。現在有一種 60FPS Plus (60FPS+) 模式。在此模式下,遊戲會在 VSync 鎖定於 60 Hz 的情況下轉譯。不過,對於高於 60 FPS 的畫面播放速率 (例如 90 FPS),它可以在不鎖定的情況下執行,而不會出現畫面撕裂或畫面卡頓。 此模式需要顯示器支援 120 Hz 與可變重新整理頻率 (VRR)。如果不支援,遊戲會自動同步至 60 Hz。VRR 用於流暢地顯示畫面。 如果目標是 120 FPS,請勿使用 60 FPS+ 模式。請改用不含 60FPS+ 模式旗標的 D3D12XBOX_FRAME_INTERVAL_120_HZ。如下列程式碼範例所示。24 Hz 與 40 Hz 轉譯模式
以下說明搭配 120 Hz 顯示器的 24 FPS 與 40 FPS 轉譯模式。 24 Hz- 系統會呈現五個 120 Hz 畫面。
- 這些畫面適用於即時過場動畫。
- 與 30 FPS 相比,24 FPS 可提供額外 8.33 毫秒的 GPU 時間。這可用於提升視覺品質。
- 系統會呈現三個 120 Hz 畫面。
- 如果遊戲無法達到 60 FPS,40 FPS 是不錯的選擇。
- 與 60 FPS 相比,40 FPS 可提供額外 8.33 毫秒的 GPU 時間。
DisplayModeList 檢查顯示器是否支援。
暫停/繼續
玩家隨時可以暫停您的遊戲,以切換到其他遊戲、應用程式,或在 XBOX 首頁上執行某些操作,例如設定主機設定。下列情況可能會在您的遊戲處於暫停或受限模式時導致顯示模式變更。- 主機設定在 60 Hz 與 120 Hz 之間切換
- 在主機設定中開啟或關閉 HDR
- 更換顯示器
- 更換 HDMI 纜線
- 新增或移除影音接收器
RegisterAppStateChangeNotificationRegisterAppConstrainedChangeNotification
HDR 遊戲校正
HDR 遊戲校正應用程式會顯示測試圖樣,用來判斷顯示器色調對應的最小與最大亮度。這可讓玩家只需校正主機一次,而不必針對每款遊戲校正。校正值會依主機儲存在系統中。這些值會用於遊戲的顯示對應器著色器。XBOX One 與 XBOX Series X|S 都支援 HDR 遊戲校正。 圖 16. HDR 遊戲校正。

校正值:選項 1
不要實作您自己的校正畫面。請使用 API 提供的值。- 不要實作遊戲校正畫面。
- 在遊戲的顯示對應器著色器中使用 API 校正值。
- 建議您使用下列深層連結程式碼,在遊戲功能表中新增可前往校正應用程式的選項。
#include <XLauncher.h>XLaunchUri(nullptr, "hdrgamecalibration://");
校正值:選項 2
若要實作遊戲校正畫面,請執行下列動作。- 對比:進行簡單的調整,例如
pow(x, displayGamma)。 - 亮度:進行紙白亮度調整。
- 最大亮度:判斷最大亮度裁切點。
- 如果玩家不使用遊戲校正,遊戲仍會使用正確的預設值。
- 如果玩家使用遊戲校正,起始值就已經是正確的。
圖 18 顯示使用選項 2 的場景。
如需詳細資訊,請參閱 HDRCalibration 範例。
圖 19. Gears 5 HDR 校正畫面。
圖 19 顯示 Gears 5 的 HDR 校正畫面。它不使用客觀的測試圖樣。畫面會顯示變更校正值時遊戲影像受到的影響。如此一來,玩家就能看到 HDR 對暗部細節、中間調與亮部細節的效果。玩家可以切換到實際轉譯的遊戲畫面。
遊戲用 Dolby Vision
自 XBOX One S 推出以來,就已支援 Netflix 等媒體應用程式的 Dolby Vision。遊戲用 Dolby Vision 的支援則於 2021 年年中新增,但僅適用於 XBOX Series X|S。 Dolby Vision 的優點:- 簡化內容製作。
- 在所有 Dolby Vision 顯示器上都能保留藝術意圖。
- 玩家所體驗的遊戲,會與您在開發期間製作母版時的樣貌一致。
- 不需要 HDR 校正,因此 HDR 遊戲校正應用程式並不適用。
Dolby Vision:選項 1 (原生 Dolby Vision)
- 遊戲使用 Dolby 的 Software Implementation Development Kit (SIDK),以中介軟體形式實作原生 Dolby Vision。
- 支援靜態顯示對應與動態顯示對應。
- 原生 Dolby Display Vision 包含適用於 HDR10 與 SDR 的色調對應器。
- GPU 成本因所選選項而異。

Dolby Vision:選項 2 (自動 Dolby Vision)
- XBOX 系統會自動將 HDR10 轉換為 Dolby Vision。
- 系統會套用 Dolby 的靜態顯示對應器。
- 遊戲輸出為 HDR10。
- 遊戲不會偵測 Dolby Vision。
- 遊戲可以選擇不使用 Dolby Vision。
- 沒有 GPU 成本。一切都透過顯示硬體完成。


Auto HDR
Auto HDR 功能會在系統層級自動為 SDR 遊戲新增 HDR。此功能通常套用於回溯相容遊戲。不過,GDK 遊戲也可以使用。由於 Auto HDR 是由顯示硬體處理,因此不會增加 CPU、GPU、記憶體、頻寬或延遲方面的成本。Auto HDR 不會改變 SDR 影像原本的藝術意圖。 Auto HDR 具有下列優點。- 增加最高 1,000 尼特的額外亮度範圍。
- 增加色彩的額外範圍,最高可達 P3-D65 色彩空間。
模擬 HDR 影像範例
這裡無法顯示 HDR 影像,但圖 23 模擬了在 SDR 顯示器上的效果。 圖 23. 模擬 HDR 影像範例。
圖 23 左側為 SDR 影像,右側為模擬的 Auto HDR 影像。請注意,兩個檢視中影像的整體外觀保持不變。使用 Auto HDR 的目標是提升影像的視覺品質,而不是改變其藝術意圖。
在左側的 SDR 影像中,最亮的像素位於水面上明亮的反射周圍。由於是 SDR,這些像素呈現白色,而不是明亮。
在右側經 Auto HDR 增強的影像中,水面反射光線所形成的明亮高光,亮度最高可達 1,000 尼特。高光不僅更亮,細節也更豐富。木筏下方的淺藍色圓形光線因為位於 P3 色彩空間而色彩更豐富。
圖 24. 熱度圖。

Auto HDR 與 GDK 遊戲
若要啟用 Auto HDR,請依照程式碼範例所示執行下列動作。- 將顯示器切換為 HDR 模式。
- 在建立 Direct3D 裝置時新增啟用 Auto HDR 的旗標。
- 玩家不會收到遊戲使用 Auto HDR 的通知。
- XBOX 儀表板上不會顯示 Auto HDR 指示器。
- 在主機設定中切換 Auto HDR,不會影響 GDK 遊戲的 Auto HDR。
Auto HDR 建議
使用高精確度的交換緩衝區格式。- 使用 R9G9B9E5 或 R10G10B10A2。
- R9G9B9E5 最佳,因為它能提供最高的色彩精確度。
- 避免使用 R8G8B8A8,因為它可能會產生色帶。
- 純白像素會達到 1,000 尼特。對 HUD 或 UI 而言太亮了。
- 在 HDR 模式下,使用線性亮度比例來調暗 HUD 或 UI。
- 明亮區域中的細節,看起來會比細節很少的大片亮斑更好。
Auto HDR 示範影片
Gears of War Ultimate: Prey: 這些並排比較的示範影片展示了使用 Auto HDR 的回溯相容遊戲。這些示範最好在 HDR 顯示器上觀看。摘要
卸載 GPU 工作。- 色彩空間轉換
- 伽瑪曲線
- SDR 自動色調對應
- 顯示平面
- Dolby Vision
- Auto HDR
與本主題相關的範例
- AutoHDR
- HDRAutoToneMapping
- HDRCalibration
- HDRDisplayMapping
- HDRPrecision
- ResponsivenessSample
- Simple120Hz
- SimpleHDR
後續步驟
如果您想檢閱與本概觀相關的簡報資料資訊,請從 XBOX Developer Download Secure Data Storage (SDS) 下載下列檔案。- 投影片:Xfest 2022 Graphics Track PowerPoints (Xfest2022GfxPPTs.ZIP) 中的 Harnessing the power of the XBOX Series X|S HDR and display hardware.pptx
- 視訊簡報:Xfest 2022 Graphics Track Videos (Xfest2022GfxVids.ZIP) 中的 GR02.mp4
下載 Microsoft PowerPoint 簡報與視訊
- 前往 Game Development Kit (GDK) 下載。
- 在 Select file type 下,選取 Conference Materials,然後選取 Confirm。
- 在 Select build/version number 下,選擇下列其中一個圖形簡報。
- Xfest 2022 Graphics Track PowerPoints
- Xfest 2022 Graphics Track Videos
- 選取 Download Now,然後等待 .zip 檔案下載完成。
- 前往您本機的「下載」資料夾,然後從壓縮資料夾中解壓縮 (擷取) 檔案。
下載本主題中提及的 Microsoft Game Development Kit 主機範例
- 前往 Game Development Kit (GDK) 下載。
- 在 Select file type 下,選取 GDK,然後選取 Confirm。
- 在 Select build/version number 下,選擇最新的 Microsoft GDKX (Sample only) 選項。
- 選取 Download Now,然後等待 .zip 檔案下載完成。
- 前往您本機的「下載」資料夾,然後從壓縮資料夾中解壓縮 (擷取) 檔案。
- 選取 GDKSamples > Graphics,然後搜尋該範例。
