0

私は現在、OS X の最新バージョンで SDL2 を使用するかなり小さくて単純な C++ アプリケーションを持っています。実際に行っていることは、いくつかのキーボード イベントをリッスンし、SDL_Renderer を介して 1 つの塗りつぶされていない白い四角形を描画することだけです。各フレームの「ティック」の処理やレンダリングなどにラムダを使用します。

このプログラムの実行を開始すると、XCode はほぼすぐに約 14.5MB のメモリを使用していると報告します。しかし、メモリ使用量はゆっくりと増加し始め、時間の経過とともに遅くなります。最終的に、数分後、合計 18MB に達し、ほとんどそのままです。18.1 に達することもありますが、最終的には 18 に戻ります。

最初以外はコードに何も割り当てていないため、この動作は私を混乱させます。新しいメモリが使用される唯一の場所は、レンダリング ラムダのスタックに SDL_Rect を割り当て、メイン ループにいくつかの整数/浮動小数点数を割り当てるときです。これは、キーボードやマウスなどで SDL_Events を発生させていない場合でも発生します。なぜこれが発生するのかについて誰かが提案できる場合は、感謝します。

これはメモリリークや危険なものではないようであり、何が起こっているのかを理解したいという主に学術的な質問であることに注意してください. 私のコードをどこかに置いてほしいなら、できます。

4

0 に答える 0