DirectXを使用する場合、使用可能なVRAMの量をどのように照会しますか?
DirectXを使用する場合、使用可能なVRAMの量をどのように照会しますか?
回答:
Game Coding Complete 3によると、いくつかの方法があります。
3月8日以降のSDKで「VideoMemory」というDXサンプルを探します。
Vista以降のDX9EXの場合:
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()
、メモリリークが発生します。