一、使用场景
- 确认多少个图形适配器
- 创建D3D 设备
- 使用IDXGIAdapter检索设备性能
二、步骤
1、创建IDXGIFactroy
IDXGIFactory * pFactory = NULL;
CreateDXGIFactory(__uuidof(IDXGIFactory) ,(void**)&pFactory)
2、枚举IDXGIFactory::EnumAdapters
for(UINT i = 0; pFactory->EnumAdapters(i, &pAdapter) != DXGI_ERROR_NOT_FOUND; ++i)
{
....
}
三、示例
// 编译有error 没找到原因。。和CreateDXGIFactory有关系
std::vector <IDXGIAdapter*> EnumerateAdapters(void)
{
IDXGIAdapter * pAdapter;
std::vector <IDXGIAdapter*> vAdapters;
IDXGIFactory* pFactory = NULL;
if (FAILED(CreateDXGIFactory(__uuidof(IDXGIFactory), (void**)&pFactory)))
{
return vAdapters;
}
for (UINT i = 0; pFactory->EnumAdapters(i, &pAdapter) != DXGI_ERROR_NOT_FOUND;
++i)
{
vAdapters.push_back(pAdapter);
}
if (pFactory)
{
pFactory->Release();
}
return vAdapters;
}