我正在尝试从 WMI/Powershell 中提取 GPU 指标
从我的研究中,我发现 GPU 的使用分为不同的“引擎类型”(https://devblogs.microsoft.com/directx/gpus-in-the-task-manager/)
这在 WMI 资源管理器中也可以观察到,作为Win32_PerfFormattedData_GPUPerformanceCounters_GPUEngine
类的实例
我的问题是,是否有可用的枚举或映射列表来公开这些数据?
答案1
您可以使用 DXGI API 获取 LUID 并将其与显卡关联。
像这样:
ComPtr<IDXGIFactory> dxgiFactory;
if (FAILED(CreateDXGIFactory(IID_PPV_ARGS(&dxgiFactory)))) {
std::wcerr << "Cannot create DXGI factory, exiting" << std::endl;
}
UINT i = 0;
IDXGIAdapter* adapter = nullptr;
while (dxgiFactory->EnumAdapters(i, &adapter) != DXGI_ERROR_NOT_FOUND) {
DXGI_ADAPTER_DESC desc;
adapter->GetDesc(&desc);
std::wcout << "DXGI Adapter: " << desc.Description
<< " - LUID: " << desc.AdapterLuid << std::endl;
adapter->Release();
++i;
}