共用方式為


DXCoreAdapterState 列舉 (dxcore_interface.h)

重要

某些資訊與發行前版本產品有關,在發行前版本產品可能經過大幅修改。 Microsoft未就此處提供的資訊提供任何明示或默示擔保。

定義常數,指定 DXCore 配接器狀態的類型。 將其中一個常數傳遞至 IDXCoreAdapter::QueryState 方法來擷取狀態類型的配接器狀態專案;將常數傳遞至 IDXCoreAdapter::SetState 方法來設定狀態專案的配接器資訊。

語法

typedef enum DXCoreAdapterState {
  IsDriverUpdateInProgress = 0,
  AdapterMemoryBudget = 1,
  AdapterMemoryUsageBytes = 2,
  AdapterMemoryUsageByProcessBytes = 3,
  AdapterEngineRunningTimeMicroseconds = 4,
  AdapterEngineRunningTimeByProcessMicroseconds = 5,
  AdapterTemperatureCelsius = 6,
  AdapterInUseProcessCount = 7,
  AdapterInUseProcessSet = 8,
  AdapterEngineFrequencyHertz = 9,
  AdapterMemoryFrequencyHertz = 10
} ;

常數

 
IsDriverUpdateInProgress
值:0
指定 IsDriverUpdateInProgress 配接器狀態,true 指出驅動程式更新已在適配卡上起始,但尚未完成。 如果驅動程式更新已完成,則適配卡將會失效,而且您的 QueryState 呼叫會傳回 DXGI_ERROR_DEVICE_REMOVEDHRESULT

呼叫 QueryState時,IsDriverUpdateInProgress 狀態項目的類型為 uint8_t,代表布爾值。

重要SetState不支援此狀態專案。
AdapterMemoryBudget
值:1
指定 AdapterMemoryBudget 配接器狀態,它會擷取或要求適配卡上的配接器記憶體預算。

呼叫 QueryState時,AdapterMemoryBudget 配接器狀態的類型 DXCoreAdapterMemoryBudgetNodeSegmentGroupinputStateDetails的,並輸入 DXCoreAdapterMemoryBudgetoutputBuffer

重要SetState不支援此狀態專案。
AdapterMemoryUsageBytes
值:2
此查詢會採用實體配接器索引和專用與共用作為輸入;和會分別輸出 GPU 記憶體的已認可和常駐記憶體專用或共用部分。
AdapterMemoryUsageByProcessBytes
值:3
此查詢會採用引擎標識碼、實體配接器索引和進程句柄作為輸入;和會分別輸出 GPU 記憶體的專用或共用部分上的認可記憶體和常駐記憶體。
AdapterEngineRunningTimeMicroseconds
值:4
此查詢會採用引擎標識碼和實體配接器索引作為輸入;和會輸出引擎運行時間做為輸出。
AdapterEngineRunningTimeByProcessMicroseconds
值:5
此查詢會採用引擎標識碼、實體配接器索引和進程句柄作為輸入;和會輸出引擎運行時間做為輸出。
AdapterTemperatureCelsius
值:6
此查詢會採用實體配接器索引作為輸入,並輸出目前 GPU 溫度以攝氏度為單位。
AdapterInUseProcessCount
值:7
這會分別傳回使用此配接器及其中的 PID 的進程數目。
AdapterInUseProcessSet
值:8
這會分別傳回使用此配接器及其中的 PID 的進程數目。
AdapterEngineFrequencyHertz
值:9
此查詢會採用實體適配卡和引擎索引,並在 hertz 中輸出個別引擎的時鐘頻率。 輸出結構也包含引擎的最大頻率,且不含過度鎖定。


uint64_t GetEngineFrequency(com_ptr配接器、uint32_t physicalIndex、uint32_t engineIndex)
{
DXCoreAdapterEngineIndex 索引;
指數。PhysicalAdapterIndex = physicalIndex;
指數。EngineIndex = engineIndex;

DXCoreFrequencyQueryOutput frequencyData = {};

winrt::check_hresult(adapter->QueryState(DXCoreAdapterState::AdapterEngineFrequencyHertz, &index, &frequencyData)] :

return frequencyData.Frequency;
}
AdapterMemoryFrequencyHertz
值:10
此查詢會採用實體配接器索引,並在 hertz 中輸出其記憶體的時鐘頻率。 輸出結構也包含記憶體的最大頻率,且不含過度鎖定。


uint64_t GetEngineFrequency(com_ptr配接器、uint32_t physicalIndex、uint32_t engineIndex)
{
uint64_t GetMemoryFrequency(com_ptr配接器,uint32_t physicalIndex)
{
DXCoreFrequencyQueryOutput frequencyData = {};

winrt::check_hresult(adapter->QueryState(DXCoreAdapterState::AdapterMemoryFrequencyHertz, &physicalIndex, &frequencyData)] :

return frequencyData.frequency;
}

要求

要求 價值
最低支援的用戶端 Windows 10 (組建 18936)
標頭 dxcore_interface.h (包括 dxcore.h)

另請參閱

IDXCoreAdapter::QueryStateIDXCoreAdapter::SetStateDXCore 參考使用 DXCore 列舉配接器