【发布时间】:2012-03-11 14:30:40
【问题描述】:
我正在寻找一种可能性来估计 Direct3D 中的可用纹理内存,就像使用 IDirect3DDevice9::GetAvailableTextureMem 一样,但到目前为止没有找到任何东西。有什么建议吗?
【问题讨论】:
标签: memory-management textures direct3d direct3d11
我正在寻找一种可能性来估计 Direct3D 中的可用纹理内存,就像使用 IDirect3DDevice9::GetAvailableTextureMem 一样,但到目前为止没有找到任何东西。有什么建议吗?
【问题讨论】:
标签: memory-management textures direct3d direct3d11
你可以使用这个代码sn-p:
int getAviableVideoMemoryInBytes(ID3D11Device* pd3dDevice)
{
assert(pd3dDevice);
IDXGIDevice * pDXGIDevice = nullptr;
HRESULT hr = pd3dDevice->QueryInterface(__uuidof(IDXGIDevice), (void **)&pDXGIDevice);
if( FAILED(hr) )
{
std::cout << "Failed to query interface IDXGIDevice" << std::endl;
}
IDXGIAdapter * pDXGIAdapter = nullptr;
pDXGIDevice->GetAdapter(&pDXGIAdapter);
DXGI_ADAPTER_DESC adapterDesc;
pDXGIAdapter->GetDesc(&adapterDesc);
pDXGIDevice->Release();
return adapterDesc.DedicatedVideoMemory;
}
【讨论】: