Làm thế nào để bạn truy vấn số lượng VRAM có sẵn khi sử dụng DirectX?
Làm thế nào để bạn truy vấn số lượng VRAM có sẵn khi sử dụng DirectX?
Câu trả lời:
Theo Game Coding Complete 3, có một vài cách:
Hãy tìm mẫu DX vào ngày 08 tháng 3 hoặc sau đó SDK có tên 'VideoMemory'.
Dành cho DX9EX trên Vista trở lên:
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;
(từ http://msdn.microsoft.com/en-us/l Library / bb174526 ( v = VS85 ) .aspx )
Release()
trên pDXGIDevice
sau khi một cuộc gọi thành công QueryInterface()
sẽ dẫn đến rò rỉ bộ nhớ.