我遇到glReadPixels内存泄漏issue.Please看到附加的图像

注意,标记为红色的lines.malloc空闲对内存的区域是可以的,但是glReadPixels分配了一个额外的3M内存,我已经从glReadPixels官方文件文档中读取
它没有提到glReadPixels提供的任何mem分配信息。那么,glReadPixels真的分配了memory.If吗?那么,如何释放它呢?
发布于 2014-08-24 16:48:35
在单次调用中看到内存数量的增加远不是内存泄漏的确凿证据。在许多情况下,报告的空闲内存不会返回到原始值,而不会出现任何错误。例如,正如@derhass已经在注释中所建议的那样,驱动程序可能正在分配一个它尚未释放的缓冲区,或者有意保留以供以后重用。根据内存使用的度量方式,也可能是内存管理系统在释放内存时不将页返回给OS,而是将它们保存在将来的分配中。
如果你想要更多确凿的数据,你需要重复这一操作。尝试在一个循环中做几次相同的事情,并观察内存的使用情况。如果它逐渐增加,您有理由相信可能确实存在内存泄漏。画一个情节是最好的。如果在压力测试期间,内存使用量开始增加,然后趋于平缓,那么很有可能一切都很好。如果它在整个测试运行过程中呈线性增长,那么内存泄漏就有很强的理由。
https://stackoverflow.com/questions/25398873
复制相似问题