Як запитати кількість наявної VRAM при використанні DirectX?
Як запитати кількість наявної VRAM при використанні DirectX?
Відповіді:
Відповідно до кодування гри Game Complete 3, є кілька способів:
Шукайте зразок DX у березні 08 або пізнішого SDK під назвою "VideoMemory".
Для DX9EX у Vista та новіших версіях:
IDXGIDevice * pDXGIDevice;
hr = g_pd3dDevice->QueryInterface(__uuidof(IDXGIDevice), (void **)&pDXGIDevice);
IDXGIAdapter * pDXGIAdapter;
pDXGIDevice->GetAdapter(&pDXGIAdapter);
DXGI_ADAPTER_DESC adapterDesc;
pDXGIAdapter->GetDesc(&adapterDesc);
return adapterDesc.DedicatedVideoMemory;
(від http://msdn.microsoft.com/en-us/library/bb174526(v=VS.85).aspx )
Release()
до дзвінка pDXGIDevice
після успішного дзвінка, QueryInterface()
це призведе до витоку пам'яті.