Wie können Sie die Menge des verfügbaren VRAM abfragen, wenn Sie DirectX verwenden?
Wie können Sie die Menge des verfügbaren VRAM abfragen, wenn Sie DirectX verwenden?
Antworten:
Gemäß Game Coding Complete 3 gibt es einige Möglichkeiten:
Suchen Sie im März 08 oder später nach einem DX-Beispiel mit dem Namen "VideoMemory".
Für DX9EX unter Vista und höher:
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;
(von http://msdn.microsoft.com/en-us/library/bb174526(v=VS.85).aspx )
Release()
an pDXGIDevice
nach einem erfolgreichen AufrufQueryInterface()
zu einem Speicherverlust führen wird.