获取图形内存量
Get amount of graphics memory
我知道DXGI_ADAPTER_DESC,但在 32 位版本中,Direct3D 的SIZE_T类型长度为 4 个字节,所以我得到的是 3GB 而不是 11 个。
有没有办法即使在 32 位构建中也能获得正确的值?
附言我需要该值来计算大型 2D 纹理数组的上限大小。虽然用户不太可能拥有具有11GB VRAM GPU的32位Windows,但很有可能拥有具有32位操作系统的4GB VRAM,例如作为升级的结果。在这种情况下,我不想将我的数组限制为 0。
根据我的研究,没有简单的方法可以实现这一目标。
相反,有多种(Microsoft式)完全不同的方法可以实现这一点,每种方法都比另一种更复杂。
DX9 中曾经有方便的pd3dDevice->GetAvailableTextureMem()
,但在 DX11 中已经消失了。
在此 MSDN 代码示例中,您可以找到多种方法来查询可用的视频 RAM(使用源)。我希望其中一个适合你。
相关文章:
- 将字符串存储在c++中的稳定内存中
- C++ 指针的内存地址和指向数组的内存地址如何相同?
- Win32编译器选项和内存分配
- 当vector是tje全局变量时,c++中vector的内存管理
- 带内存和隔离功能的SQLite
- 是否可以通过C++扩展强制多个python进程共享同一内存
- 迭代时从向量和内存中删除对象
- 在C++中打印指向不同基元数据类型的指针的内存地址
- 直接显示手动图形内存泄漏
- Directx 12 :在两个进程之间共享图形内存
- 巨大的内存占用,同时向图形添加边缘
- 图形内存实现
- 是否可以在图形卡上渲染场景,然后将图像传输回系统内存
- C++图形函数内存泄漏(valgrind在线上没有具体说明)
- 将图形存储到内存中的最佳方式
- GCC消耗太多内存!!图形工具
- 图形驱动程序会导致我的应用程序内存泄漏吗
- 使用 boost 的内存映射文件存储图形数据
- 图形数据结构内存管理
- 内存管理——c++中涉及图形的大型测试用例(使用STL)抛出std::bad_alloc