この記事でのバージョン
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だとデフォルトは無効らしいので、一度は確認した方が良いかもしれません。
Unityのパフォーマンスに関わることで、最近気づいたことなので、念のために報告しておきます。あくまで公式ではありません。
— Nobu-Kobayashi : Generative AI Technology (@nyaa_toraneko) 2024年3月27日
Unityの各バージョンでのURPの挙動を調べていて、それとは別に、インクリメンタルGCのデフォルトでの状態がマニュアルと異なっていることを見つけました。… pic.twitter.com/sifq7e1GQ4



