May 16, 2016

アンリアル エンジン 4 のメモリリーク対策

作成 Cody Albert

メモリリークはかなり時間が経ってから現れる唯一のバグです。何かにメモリを割り当てた後、使用したメモリを解放せずにトラックできなくなると発生します。利用できる RAM を徐々に消費するにつれアプリケーションがダウンして、やがてクラッシュする原因になり、動作全体の安定性に影響をします。 

すべてのリークの修正は大変ですが、一番大きいリーク元を見つけて、不要なメモリロスを確実に食い止める方法がいくつかあります。先日、Paragon チームは数時間後にゲームのクラッシュを引き起こす危険性があったメモリリークをこの方法で食い止めました。Paragon ゲームはシステム中の全メモリを使い果たすほど対戦が長丁場に発展することは滅多にありませんが、それでも展開の予測は難しいです。もしもチームが重要な対戦に参加した途端にクライアントがクラッシュしてしまったら、本当にいらいらすると思います。

今から紹介するたメモリリーク発生源をトラックするヒントとトリックは、そうした体験から編み出された方法です。

MemReport を使ってリークの兆候を見抜く

メモリリークをトラックする最初のステップは、