0

这是我在 C++ 中使用 OpenGL 处理图形和 SDL 应用程序的第一个“游戏”。我的代码似乎可以工作,因为我能够创建一个功能性应用程序窗口并使用 Devil Texture 库完全加载和绘制纹理。问题出现在运行时。根据 Windows 任务管理器,我的内存使用量从 13,900 左右开始,但在 4 分钟左右后稳定增长到 15,000 左右,然后停止。这是正常的吗?Windows 任务管理器是查看内存的不准确方式吗?

4

2 回答 2

2

可能是您的代码中存在一些内存泄漏,即未释放的指针..等...

在 Linux 上,我会在运行时使用 Valgrind 来检查它。我不确定 Windows 的等价物是什么。这篇文章应该为您指明寻找等效工具的正确方向

干杯

于 2010-03-22T12:24:23.447 回答
1

如果您在应用程序执行期间进行动态内存分配和释放,则可能是您正在对内存进行碎片化,并且只需要处理碎片周围的所有“slop”即可。

我之前使用过http://www.fluidstudios.com/的 MMGR 包来跟踪我的内存使用情况。基本上,它允许您转储有关程序中所有分配的重要信息,因此您可以逐帧跟踪以查看发生了什么。

祝你好运。

于 2010-03-23T17:52:53.157 回答