gpt4 book ai didi

java - JOGL - 监控 GPU 内存

转载 作者:行者123 更新时间:2023-11-30 03:58:01 25 4
gpt4 key购买 nike

我正在寻找一些 JOGL 类/方法/示例来检索可用 GPU 内存总量和当前可用 GPU 内存的大小。

我知道可以使用 OpenGl 来完成(JOGL Java docs)。

最佳答案

您发布的链接使用 NVidia 专有扩展。然而考虑到现代 GPU 的运行方式,知道还剩下多少“内存”是绝对没有用的。为什么?

因为OpenGL总是在抽象内存模型上运行。单个数据对象(纹理、VBO)可能太大,无法放入 GPU 的工作内存,但除了系统内存(CPU RAM)之外,您可以拥有的纹理和 VBO 数量几乎没有限制。 OpenGL 总是按需交换内容。

自从支持 OpenGL-4/DirectX-11 且集成了 MMU 的 GPU 出现以来,甚至数据对象大小的概念也变得毫无意义。当今的 GPU 支持稀疏数据对象。在现代 GPU 上,您可以分配宽度和高度数千像素的纹理,并且只用稀疏的数据填充它们。因此,即使只绑定(bind)一个纹理对象,它的一部分也可能驻留在系统内存中,而其他部分则位于 GPU 工作内存中。

旧版 OpenGL 实际上具有查询纹理是否已加载到快速内存中的函数。但随着 GPU 和系统 RAM 之间的界限消失,那些不再有意义的界限随后被删除。

现在的 GPU RAM 实际上是一个缓存,您应该这样对待它。除了非常特殊的应用程序之外,您几乎不会在运行时查询 CPU 缓存的大小。

关于java - JOGL - 监控 GPU 内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22628157/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com