0

我目前在最新版本的 OS X 上使用 SDL2 有一个相当小而简单的 C++ 应用程序。它真正做的唯一一件事是监听几个键盘事件并通过 SDL_Renderer 绘制一个未填充的白色方块。它使用 lambdas 处理每一帧的“滴答声”和渲染。

当我开始运行这个程序时,XCode 报告它几乎立即使用了大约 14.5MB 的内存。但随后内存使用量开始慢慢增加,随着时间的推移变得越来越慢。最终,几分钟后,它达到了 18MB 的总量,并且几乎保持在那里。有时它会达到 18.1,但最终会回落到 18。

这种行为让我感到困惑,因为除了开头之外,我没有在我的代码中分配任何东西。唯一使用新内存的地方是当我在渲染 lambda 的堆栈上分配 SDL_Rect 时,以及主循环中的几个整数/浮点数。即使我没有通过键盘、鼠标等触发任何 SDL_Events,也会发生这种情况。如果有人可以就为什么会发生这种情况提供任何建议,我将不胜感激。

请注意,这似乎不是内存泄漏或任何危险,主要是一个学术问题,我想了解正在发生的事情的行为。如果你想让我把我的代码放在某个地方,我可以。

4

0 回答 0