每当我加载纹理时,我的(2D)游戏的内存占用似乎都在增加,例如,当我启动游戏时,在穿越〜367mb的背景文件后,它使用30 mb的专用RAM,因此有时它全部在RAM中,它会增加到54 mb专用RAM。
在经过相同的距离但在两个点之间反复来回之后,会发生相同的事情。
但是,我的读数显示,纹理退出屏幕后大约一秒钟,该程序正确地调用了glDeleteTextures。valgrind没有发现任何泄漏。
我怎么知道我是否应该为此担心,或者这仅仅是操作系统页面存储方式的怪癖?
1
您如何确定应用程序的RAM使用率?您是在使用探查器(哪个)?还是仅信任操作系统的任务管理器(哪个)?
—
菲利普
kUbuntu上的任务管理器,调试器上的探查器告诉我它正在等待数据,然后再也不显示任何内容。
—
Patrick Jeeves
顺便说一句:在Linux上检查内存消耗时,请记住不要仅仅查看游戏进程消耗的内存。一次我从事多平台游戏的工作时,我们想知道为什么Windows版本比Linux版本消耗的内存要多得多,直到我们注意到图形API的Linux版本显然为X11进程中的所有纹理分配了内存。
—
菲利普
你应该没有期望glDeleteTextures实际上会释放内存:gamedev.stackexchange.com/questions/136883/...
—
鲆按蚊