共用方式為


Direct3D 12 字彙

這些詞彙與 Direct3D 12 不同。

綁定

將記憶體附加至圖形管線的程式。 例如,資源系結牽涉到將紋理等資源系結至管線,以用於轉譯物件。

緩衝區

與連續記憶體配置同義的 D3D 資源類型。

圖形處理單位 (GPU) 只能直接透過 直接命令清單執行命令緩衝區。 套件組合會繼承目前設定 管線狀態物件 和基本拓撲) 以外的所有 GPU 狀態 (。

命令配置器

儲存 GPU 命令的基礎記憶體配置。 命令配置器物件同時適用于 直接命令清單套件組合

命令清單

命令清單會對應至 GPU 執行的一組命令。 這些包括設定狀態、繪製、清除和複製等命令。 D3D12 命令清單介面與 D3D11 命令清單介面明顯不同。 D3D12 命令清單介面包含類似 D3D11 裝置內容轉譯 API 的 API。

D3D12 命令清單不會對應或取消對應資源、變更磚對應、調整磚集區大小、取得查詢資料,也不會隱含地將命令提交至 GPU 以供執行。

不同于 D3D11 延後的內容,D3D12 命令清單僅支援兩層間接存取。 直接命令清單會對應至 GPU 可執行檔命令緩衝區。 套件 組合 只能直接透過直接命令清單執行。

直接命令清單不會繼承任何 GPU 狀態。 套件組合會繼承目前設定管線狀態物件和基本拓撲) 以外的所有 GPU 狀態 (。

命令清單的記憶體是由 命令配置器所設定。 命令清單的目的是將它們提交至 GPU 做為單一轉譯要求。

命令佇列

命令清單的 佇列 ,GPU 會連續執行。 應用程式必須明確地將 命令清單 提交至命令佇列,才能執行。 通常有三個命令佇列:3D 圖形、計算和複製,對應至 GPU 上的 3D 圖形管線、計算引擎和一或多個複製引擎。

保守點陣化

保守點陣化是 Direct3D 圖形管線轉譯器階段的作業模式。 它會停用以樣本為基礎的標準點陣化,並改為點陣化基本類型所涵蓋的任何數量圖元。 其中一個重要區別是,雖然所有涵蓋範圍都會產生點陣化圖元,但該涵蓋範圍無法以硬體為特徵,因此涵蓋範圍一律會顯示為圖元著色器二進位:完全涵蓋或未涵蓋。 它會保留給圖元著色器程式碼,以分析方式判斷實際的涵蓋範圍。

保守點陣化有助於解決碰撞和點擊偵測、量化和遮蔽等問題,其中圖元的色彩更特定,而且可以消除邊緣案例。 請參閱 保守點陣化

CBV) 常數緩衝區檢視 (

常數緩衝區包含著色器常數資料,例如相機檢視、投影矩陣和世界矩陣。 「常數緩衝區檢視」是圖形管線所見緩衝區的格式特定檢視。

預設堆積

著重于支援持續性 GPU 資源類型的使用者模式堆積,包括 GPU 寫入的資源。

描述 符

描述項是 D3D12 中單一資源系結的主要單位。 描述元是相對較小的資料區塊,可完整描述 GPU 特定格式的物件。 有許多不同類型的描述元:著色器資源檢視 (SRV) 、非排序存取檢視 (UAV) 、常數緩衝區檢視 (CBV) ,以及取樣器是一些範例。

描述元堆積

描述項堆積是連續描述元配置的集合,每個描述項都有一個配置。 描述元堆積的主要點是包含儲存著色器所參考的物件類型描述元規格所需的大量記憶體配置,而著色器會盡可能參考大部分轉譯視窗, (最好是整個轉譯框架或更多) 。

描述項資料表

描述項資料表在邏輯上是描述項的陣列。 每個描述項資料表都會儲存一或多個類型的描述項,包括 SRV、UAVe、CBV 和 Samplers。 描述項資料表不是記憶體配置,只是描述元堆積的位移和長度。

直接命令清單

GPU 可執行檔命令緩衝區。 直接命令清單不會繼承任何 GPU 狀態。

柵欄

同步處理 GPU 和 CPU 的機制。 GPU 和 CPU 都可以指示在柵欄等候,並等候其他處理器趕上。 請參閱 多引擎同步處理

危險、危險追蹤

當資源用於某個用途,且應用程式想要針對另一個用途重複使用資源時,就會發生危險。 若要再次使用資源,中繼快取必須排清或失效,壓縮需求必須與第二次使用一致,而且資源應該處於必要狀態,以避免在資源寫入至預期用途並失效之後讀取資源。

維護資源並避免這些同步處理問題的程式稱為危險追蹤。 如果驅動程式沒有危險追蹤,則應用程式會負責此動作。 在大部分舊版的 DirectX 中,驅動程式已處理危險追蹤。 為了改善效能,DirectX 12 中提供沒有危險追蹤的方法。

高階著色器語言 (HLSL)

電腦語言,與 C 類似但不同,用來撰寫著色器程式碼。 頂點、圖元、幾何、計算、定義域和殼層著色器都是使用 HLSL 撰寫。 編譯器會將 HLSL 來源轉換成二進位格式,以供 GPU 取用。

multiengine

單一 GPU 中的不同引擎實例和類型。 引擎類型包括:圖形、計算和複製。

MultiGPU

有一個以上的圖形介面卡的硬體組態。 個別配接器有時稱為節點。 擁有多個 GPU 可讓它們與 CPU 進行同步處理的工作,而彼此同步處理,比單一 GPU 更為複雜。

PSO) 的管線狀態物件 (

GPU 狀態的重要部分。 此狀態包含所有目前設定的著色器和特定固定函式狀態物件。 變更管線物件內所含狀態的唯一方法是變更目前系結的管線物件。

預測

Predication 是一項功能,可讓 GPU 而非 CPU 判斷不繪製、複製或分派物件。 例如,如果物件周框方塊完全被另一個物件遮蔽,或檢視方塊已將物件縮減為小於圖元的大小,則完全無法嘗試繪製隱藏的物件。 請參閱 預先分割

轉譯器順序檢視 (ROV)

標準圖形管線可能無法正確組合多個包含透明度的紋理。 電線柵欄、火氣、玻璃和彩色玻璃等物件會使用透明度來取得所需的效果。 當包含透明度的多個紋理彼此對齊時,就會發生問題, (圍牆前面含有濕度的玻璃建築物前面,例如) 。 轉譯器排序檢視 (ROV) 啟用基礎順序獨立透明度 (OIT) 演算法,以使用硬體的功能來嘗試正確解析透明度順序。 透明度是由圖元著色器處理。

轉譯器排序檢視 (ROV) 允許圖元著色器程式碼以宣告標記未排序的存取檢視 (UAV) 系結,以改變 UAV 圖形管線結果順序的正常需求。

readback 堆積

使用者模式堆積,著重于從 GPU 傳回 CPU 的資料。

資源

提供資料給管線的實體,並定義在場景期間呈現的內容。 從您的遊戲媒體載入或在執行階段動態建立資源。 一般而言,資源包括紋理資料、頂點資料和著色器資料。 大部分的 Direct3D 應用程式都會在其生命週期中大量建立和終結資源。

資源屏障

資源屏障會通知驅動程式,可能需要對單一資源的多個存取進行同步處理,例如讀取和寫入相同的紋理。

資源系結

資源系結是將資源 (紋理、頂點緩衝區、索引緩衝區等) 連結至圖形管線的程式,讓管線的著色器能夠處理正確的資源。

資源堆積

資源堆積是堆積的一般詞彙,這些堆積是一般詞彙,這些堆積是保留資源在傳輸至 GPU 時保留資源的記憶體緩衝區。 對 GPU 的傳輸需要上傳堆積,從 GPU 到 CPU 需要讀取回堆積,而 GPU 必須透過多個轉譯畫面維護持續性堆積,稱為「預設堆積」。

根簽章

根簽章會定義要系結至圖形或計算管線的所有資源。 根簽章是由應用程式設定,並將命令清單連結到著色器所需的資源,每個應用程式都有一個圖形和一個計算根簽章。

採樣

取樣器是從紋理讀取的程式碼。

著色器資源檢視 (SRV)

在著色器資源中查看資料的格式特定方式,例如紋理。

靜態堆積

使用者模式堆積,著重于通常同時使用的多個 GPU 唯讀資源,且不會經常變更。

交換鏈結

交換鏈結可控制背景緩衝區旋轉,形成圖形動畫的基礎。 交換鏈結是由低階 API 集 DXGI (處理,請參閱 DXGI 概 觀) 。

swizzle

在記憶體中尋找多維度資料的技術,讓鄰近維度的資料通常會有附近的位址。 特別是,一個資料列的所有資料不會連續地放在下一個資料列的資料之前。 「參數化 Swizzle」描述描述擷取模式的標準化方式。

紋理

多維度且具有記憶體配置的 D3D 資源類型,已針對 GPU 的多維度存取進行優化。 紋理通常會包含轉譯到表面所需的原始影像,再進行光源和混合,但可以包含其他類型的資料,例如色彩漸層和參考色彩。 Direct3D 12 支援一、二維和三維紋理。

視訊記憶體的頁面,類似于 CPU/系統記憶體頁面。 圖格標記法有助於區分 GPU 虛擬記憶體子系統與 CPU 虛擬記憶體子系統。 GPU 提供與系統虛擬記憶體類似的虛擬記憶體功能。 某些 GPU 具有共用的虛擬記憶體功能,可讓虛擬記憶體子系統的一些頁面同時與 CPU 和 GPU 共用。

磚資源

需要磚資源,因此較少的 GPU 記憶體會浪費儲存應用程式知道不會存取的介面區域,而硬體可以瞭解如何跨相鄰磚進行篩選。 磚化資源是大型邏輯資源,但需要少量的實體記憶體。

未排序的存取檢視 (UAV)

資源 (的未排序存取檢視,包括緩衝區、紋理和紋理陣列 - 沒有多重取樣) ,允許從多個執行緒暫時取消排序的讀取/寫入存取。 這表示多個執行緒可以同時讀取/寫入此資源類型,而不會產生記憶體衝突。

上傳堆積

使用者模式堆積,著重于從 CPU 到 GPU 的資料傳輸。

使用者模式堆積

沒有任何核心元件感知而回收的大型連續記憶體組態集合:配置和解構方法不會在穩定狀態期間呼叫核心配置和解構方法。 上傳、讀取和預設堆積是使用者模式堆積的變體。

磁片區磚資源

三維 磚化資源