Skip to main content
DPS 僅適用於 XBOX Series 主機。對較早的 XBOX 主機沒有作用。
動態電源狀態 (DPS) 會根據轉譯工作負載動態調整 GPU 的電源等級。當 GPU 未被完全使用時,DPS 會調降電源狀態,在不影響效能的情況下節省能源。圖形驅動程式會根據最近的畫面時間記錄自動進行調整。 若沒有 DPS,GPU 會鎖定在電源狀態 P4,這表示即使 GPU 閒置,耗電量也會超過所需。只要工作負載允許,DPS 就會解除鎖定較低的電源狀態 (P0–P3)。

運作方式

  1. 遊戲啟用 GPU 動態電源狀態。
  2. GPU 計算標準化的畫面統計資料,並將其儲存為歷史資料。
  3. GPU 根據目前需求與歷史資料自動變更電源狀態,以節省能源。
遊戲可以透過採用 XBOX 永續性工具組 的其他部分,進一步降低能源消耗。

案例研究

Call of Duty: Black Ops 6

Call of Duty 技術資深總監 Rulon Raymond:
我們花了幾天時間試驗 DPS,結果相當令人振奮。具體來說,在我們使用 XBOX 永續性工具組所導入的節能措施之外,我們還能看到額外 10–15% 的電力節省。我們原本就已在遊戲引擎的某些部分進行降速 (例如在選單或前端畫面中),而玩家的畫面播放速率完全沒有變化,這為我們節省了大量電力,但 DPS 讓我們不費吹灰之力就獲得了額外的節省。
在發行時,Black Ops 6 團隊的計畫如下:
  • 在所有已套用節能措施的區域啟用 DPS。
  • 提供一個隨時啟用 DPS 的旗標 (預設為關閉),同時持續進行為期多天的效能測試。

Two Point Museum

Two Point Studios 技術總監暨共同創辦人 Ben Hymers 透過 XBOX 團隊管理的雲端設定推出 DPS,完全不需要變更程式碼:
我們將動態電源狀態與 Constrained+ 模式搭配測試,以將能源效率最大化。這些功能結合起來,在主選單中將耗電量降低了約 50–58%,並在受限模式期間減少了 39–63% 的能源使用量。自推出以來,我們觀察到平均能源消耗明顯下降,且未降低遊戲的畫面品質。例如,XBOX Series X 的耗電量已從平均 135 W 降至 125 W。以我們的整體玩家群計算,這相當於每年節省約 6.5 百萬瓦時的能源,等同於連續不停看電視 65,000 小時,也就是將近 7.5 年。
Two Point Museum 是第一家透過雲端設定遠端採用 DPS 的第三方工作室。

在不變更程式碼的情況下測試 DPS (僅限開發)

您可以在開發套件上全域啟用 DPS,而不需要重新建置您的遊戲:
1

更新您的開發套件

確定您的開發套件至少已安裝 August 2024 Recovery。
2

建立旗標檔案

在您的電腦上建立名為 DynamicPowerEnable 的空白檔案。
3

將其複製到主機的 D: 磁碟機

4

啟動並進行分析

啟動您的遊戲。DPS 現在已啟用。
5

完成後停用 DPS

重新啟動遊戲。

即時觀察 DPS

透過 PIX 或 XBOX Manager 中的主機設定啟用 Title Performance Overlay。
  • 如果已啟用 DPS,覆疊畫面右下角會包含一條紅線以及 GPU 電源狀態計量 (0–4)。4 表示全速運作;數值越低表示越節能。
  • 如果已停用 DPS,GPU 電源狀態會顯示 N/A。
使用 PIX 的 Power Load % 計量來測量遊戲特定部分中 GPU 能源使用量的變化。
遊戲無法在零售版中使用 DynamicPowerEnable 檔案啟用 DPS。若為零售版本,請使用 SetDriverHintX (如下所示)。

在您的遊戲中啟用 DPS (零售版)

在圖形裝置上使用現有的 SetDriverHintX() API。

API

若使用 June 2024 GDK 或更新版本,請使用列舉:
若使用 June 2024 之前的 GDK (或較舊的 XDK 遊戲),請直接使用此值:

啟用 DPS

停用 DPS

DPS 可以在遊戲過程中切換,但隨時保持啟用可獲得最大的節省效果。
如果您的遊戲會切換 DPS,請在 PLM Resume() 處理常式中重設所需的值。DPS 狀態在暫停/繼續之間不會保留。

使用畫面統計資料在執行階段偵測 DPS

遊戲可以查詢畫面統計資料,根據 DPS 的行為做出轉譯決策 (例如動態解析度等)。

GetFrameStatisticsX

新增了一種畫面統計資料類型:
及其相關結構:
現有的 D3D12XBOX_RENDER_STATISTICS 會傳回 GPUBusyDuration:
GPUBusyDuration 是標準化的值,它假設 GPU 時脈處於 P4,且不受目前電源狀態影響。電源調整畫面統計資料會受到電源狀態變更的影響,因此會與 GPUBusyDuration 不同。

範例

在 P4 下需要 8 毫秒的 GPU 工作負載,在 P2 (較低時脈) 下會延長至 12 毫秒:
之所以保留標準化的 GPUBusyDuration,是因為遊戲引擎會使用它來計算動態解析度。將標準化與調整後的測量值分開,可避免產生回饋迴圈,也就是較低的電源狀態導致動態解析度不斷下降,直到降到最低為止。

後續步驟

Last modified on October 6, 2026