共用方式為


Direct3D 12 中的工作提交

為了改善 Direct3D 應用程式的 CPU 效率,自 12 版起,Direct3D 不再支援與裝置相關聯的直接內容。 相反地,您的應用程式會記錄,然後提交 命令清單,其中包含繪圖和資源管理呼叫。 您可以將這些命令清單從多個線程提交到一或多個命令佇列,以管理命令的執行。 此基本變更可讓應用程式預先計算轉譯工作以供日後重複使用,藉此提升單一線程效率,並藉由將轉譯工作分散到多個線程,以利用多核心系統。

在本節中

主題 描述
命令佇列和命令清單的設計理念 啟用轉譯工作和多線程調整重複使用的目標,需要對 Direct3D 應用程式將轉譯工作提交至 GPU 的方式進行基本變更。
建立和錄製命令清單和套件組合 本主題描述 Direct3D 12 應用程式中的錄製命令清單和套件組合。 命令清單和組合都允許應用程式記錄繪圖或狀態變更呼叫,以便稍後在圖形處理單元 (GPU) 上執行。
執行和同步處理命令清單 在 Microsoft Direct3D 12 中,舊版的立即模式已不存在。 相反地,應用程式會建立命令清單和配套,然後記錄 GPU 命令集。 命令佇列可用來提交要執行的命令清單。 此模型可讓開發人員更充分掌控 GPU 和 CPU 的有效使用方式。
在 Direct3D 12 中管理圖形管線狀態 本主題描述如何在 Direct3D 12 中設定圖形管線狀態。
使用資源屏障同步處理 Direct3D 12 中的資源狀態 為了降低整體CPU使用量並啟用驅動程式多線程處理和前置處理,Direct3D 12 會將每個資源狀態管理的責任從圖形驅動程式移至應用程式。
使用 Direct3D 12 管線和著色器 相較於上一代圖形程序設計介面,Direct3D 12 可程式化管線大幅提升轉譯效能。
可變速率底紋 (VRS) 可變速率底紋或粗圖元底紋是一種機制,可讓您以不同轉譯影像的速率配置轉譯效能/電源。
轉譯傳遞 轉譯傳遞功能可藉由減少記憶體到離晶元記憶體來回減少記憶體流量,協助轉譯器提升 GPU 效率;它可讓應用程式更清楚地識別資源轉譯順序需求和數據相依性,藉此執行此作業。