(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

(:3[kanのメモ帳]


本ブログの運営者kan.kikuchiが個人で開発したゲームです!


インクリメンタルガベージコレクション(Incremental GC)は、有効にしておくだけで大きな処理落ちを防ぎやすい【Unity】


このエントリーをはてなブックマークに追加


この記事でのバージョン
Unity 6000.3.2f1


インクリメンタルガベージコレクション(Incremental GC)

Unityや.NETにはGC(ガベージコレクション)という仕組みのがあります。

GCとはざっくり言うと、不要になったメモリを自動で検出&解放する自動メモリ管理システムです。



GCはとても便利な仕組みですが、GCによってメモリが解放されてる瞬間、

処理落ちしてしまう、通称GCスパイクが問題になりやすいです。


そんなGCスパイクを防ぐためにUnity 2019.1辺りでIncremental GCというものが登場しました。

Incremental GCは通常のGCのように「一度にまとめて止めてメモリを解放する」のではなく、

複数フレームに分割して解放する方式で、結果としてGCスパイクを軽減しやすくなります。

(メモリ解放やGCスパイク、それに伴う処理落ちが根本的に無くなるわけでない)


設定方法はEdit/Project Settingsを開き、


Player内にあるOther Settings/Configuration/Use Incremental GCを有効にするだけ。


なお、最近のUnityではデフォルトで有効になっていますが、

ちょっと古いUnityだとデフォルトは無効らしいので、一度は確認した方が良いかもしれません。