Как вы запрашиваете количество VRAM, доступное при использовании DirectX?
Как вы запрашиваете количество VRAM, доступное при использовании DirectX?
Ответы:
Согласно Game Coding Complete 3, есть несколько способов:
Ищите образец DX в SDK 08 марта или позже под названием «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()
приведет к утечке памяти.