Jak zapytać o ilość dostępnej pamięci VRAM podczas korzystania z DirectX?
Jak zapytać o ilość dostępnej pamięci VRAM podczas korzystania z DirectX?
Odpowiedzi:
Według Game Coding Complete 3 istnieje kilka sposobów:
Wyszukaj próbkę DX w pakiecie SDK 08 marca lub później o nazwie „VideoMemory”.
W przypadku DX9EX w systemie Vista i nowszych wersjach:
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;
(z http://msdn.microsoft.com/en-us/library/bb174526(v=VS.85).aspx )
Release()
się na pDXGIDevice
po udanej wywołanie QueryInterface()
doprowadzi do wycieku pamięci.