获取图形内存量

时间:2018-01-24 04:37:24

标签: c++ windows directx direct3d11 dxgi

我知道DXGI_ADAPTER_DESC,但在32位版本中,Direct3D的SIZE_T类型长4个字节,所以我得到的是3GB而不是11个。

即使在32位构建中,有没有办法获得正确的值?

P.S。对于大型2D纹理数组,我需要calculate大小的值。虽然用户不太可能拥有带11GB VRAM GPU的32位Windows,但很可能拥有带有32位操作系统的4GB VRAM,例如:由于升级。在这种情况下,我不想将我的数组限制为0。

1 个答案:

答案 0 :(得分:2)

根据我的研究,没有简单的方法来实现这一目标。

相反,有(微软风格)多种完全不同的方式来实现这一点,每种方式都比另一种更复杂。

在DX9中曾经有过方便的pd3dDevice->GetAvailableTextureMem(),但在DX11中已经消失了。

In this MSDN code example 您可以找到多种方法来查询可用的视频RAM(带有源)。我希望其中一个适合你。

相关问题