Direct3D 12 程式設計指南

Direct3D 12 提供 API 和平臺,可讓應用程式利用具有一或多個 Direct3D 12 相容 GPU 的電腦圖形和運算功能。

本節內容

主題 描述
什麼是 Direct3D 12? DirectX 12 引進下一版的 Direct3D,也就是 DirectX 的核心 3D 圖形 API。 此版本的 Direct3D 比任何舊版更快且更有效率。 Direct3D 12 可啟用更豐富的場景、更多物件、更複雜的效果,以及現代化 GPU 硬體的完整使用率。
Direct3D 12 的新功能 描述最新 SDK 版本可用的最重要新檔。
瞭解 Direct3D 12 若要撰寫適用于Windows 10和Windows 10 行動裝置版的 3D 遊戲和應用程式,您必須瞭解 Direct3D 12 技術的基本概念,以及如何準備在遊戲和應用程式中使用它。
Direct3D 12 中的工作提交 為了改善 Direct3D 應用程式的 CPU 效率,Direct3D 12 不再支援與裝置相關聯的立即內容。 相反地,應用程式會記錄並提交 命令清單,其中包含繪圖和資源管理呼叫。 這些命令清單可以從多個執行緒提交至一或多個命令佇列,以管理命令的執行。 此基本變更可讓應用程式預先計算轉譯工作以供稍後重複使用,藉由將轉譯工作分散到多個執行緒,以利用多核心系統來提升單一線程的效率。
Direct3D 12 中的資源繫結 系結是將資源物件連結至圖形管線著色器的程式。
Direct3D 12 中的記憶體管理 移至 D3D12 牽涉到執行適當的記憶體落地同步處理和管理。 管理記憶體落地表示必須完成更多同步處理。 本節涵蓋堆積和緩衝區內的記憶體管理原則和子配置。
多配接器系統 描述已安裝多個介面卡之系統的 Direct3D 12 支援,涵蓋您的應用程式明確以多個 GPU 介面卡為目標的案例,以及驅動程式代表您的應用程式隱含使用多個 GPU 介面卡的案例。
多引擎同步處理 本主題討論同步處理對大多數新式 GPU 中找到之多個獨立引擎的存取。
轉譯 本節包含 Direct3D 12 (和 Direct3D 11.3) 的轉譯功能相關資訊。
計數器、查詢和效能測量 下列各節說明用於效能測試和改進的功能,例如查詢、計數器、計時和預先部署。
使用 Direct3D 11、Direct3D 10 和 Direct2D 本節涵蓋舊版 Direct3D 和 Direct2D 的 Interop 技術、Direct3D 11on12 API,以及從 Direct3D 11 移植到 Direct3D 12 的指導方針。
工作範例 工作範例可供下載,其中顯示 Direct3D 12 的一些功能使用量。
D3D12 程式碼逐步解說 本節提供範例案例的程式碼。 許多逐步解說提供將哪些程式碼新增至基本範例所需的程式碼詳細資料,以避免針對每個案例重複基本元件程式碼。
使用 Direct3D 12 進行偵錯和診斷 包含主題,說明如何使用 Direct3D 12 偵錯層搭配 GPU 型驗證 (GBV) ,以及如何使用裝置移除的擴充資料 (DRED) 。