首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实际的图形处理器内存使用率与glDeleteXXXX?

实际的图形处理器内存使用率与glDeleteXXXX?
EN

Stack Overflow用户
提问于 2017-03-23 23:41:41
回答 1查看 369关注 0票数 0

GPU驱动程序是否必须按需从应用程序释放GPU内存?如果不是,是否会使应用程序可能想要做任何GPU内存资源管理无效,因为它是从实际内存中“移除的层”?

我分配了很多纹理,然后释放它们。当分配时,我可以看到"GPU系统字节“(在进程资源管理器中)迅速增加(数量大大超过了图像的硬盘空间-也许它们在GPU中是解压缩的,所以占用了很多空间)。

当释放纹理时,我可以看到Texture2D对象析构函数正确地调用了glDeleteTexture,但似乎在"GPU系统字节“减少回原始值时有一个延迟,事实上,该值并没有返回到原始值,而是在它上方悬停了一点。

然后,如果继续这样做,我看到图形处理器内存使用量逐渐增加,但在此期间,我一直在计算我的glDeleteTexture调用,内存似乎从未完全恢复。

我被迷惑了,因为从应用程序的角度看,它看起来很干净--x已分配,x已释放--但我看到我的应用程序变得有点占用资源,不是在我的进程的内存空间,而是GPU内存空间,因为这个原因(Intel HD 6000 GPU)。

EN

回答 1

Stack Overflow用户

发布于 2017-03-24 00:57:30

是否强制GPU驱动程序按需从应用程序释放GPU内存?

不是的。无论何时,OpenGL驱动程序都会返回该内存。

如果不是,是否会使应用程序想要做

内存资源管理失效,因为它是从实际内存中“移除的层”?

这是使用基于硬件抽象的API的结果。如果你想避免被“从实际内存中移除的一层”,你应该使用Vulkan。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42980760

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档