ID3D12Debug5::SetEnableAutoName 方法 (d3d12sdklayers.h)
設定物件的自動命名。
語法
void SetEnableAutoName(
BOOL Enable
);
參數
Enable
類型: BOOL
true
表示啟用自動命名; false
停用自動命名。
傳回值
無
備註
根據預設,除非您使用 ID3D12Object::SetName 或 ID3D12Object::SetPrivateData 來指派名稱,否則不會命名物件。
最佳作法是命名所有 Direct3D 12 物件;至少在偵錯組建中。 如果失敗,您可能會發現允許自動名稱指派以涵蓋間距, 使用自動名稱建立的 Direct3D 12 物件會自動指派名稱,用於偵錯層輸出和 DRED 分頁錯誤資料。
因此,不要針對特定自動命名格式建立相依性,您無法使用 ID3D12Object:: GetName 或 ID3D12Object::GetPrivateData來擷取自動命名字串。 但是,為了產生唯一的名稱字串,Direct3D 12 會在建立時使用本機唯一識別碼 (LUID) 指派給每個 ID3D12DeviceChild 物件。 您可以使用 ID3D12Object::GetPrivateData 搭配 REFGUID 值來擷取該 LUID WKPDID_D3D12UniqueObjectId。 您可能會發現適合自己的物件命名架構。
偵錯現有的軟體時,您可以使用 D3DConfig 圖形工具公用程式和 命令 d3dconfig.exe device auto-debug-name=forced-on
來控制自動命名。
使用 ID3D12Object::SetName 或 ID3D12Object::SetPrivateData 指定名稱的任何物件都會使用指派的名稱,而不是自動名稱。
需求
最低支援的用戶端 | Windows 10組建 20348 |
最低支援的伺服器 | Windows 10組建 20348 |
目標平台 | Windows |
標頭 | d3d12sdklayers.h |