GC Config of BaseEngine.ini

打开 ProjectSettings-Engine-GarbageCollection 查看设置:

它们是在配置文件 Engine\Config\BaseEngine.ini 中的。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
; Engine\Config\BaseEngine.ini
[/Script/Engine.GarbageCollectionSettings]
gc.MaxObjectsNotConsideredByGC=0
gc.SizeOfPermanentObjectPool=0
gc.FlushStreamingOnGC=0
gc.NumRetriesBeforeForcingGC=0
gc.AllowParallelGC=True
gc.TimeBetweenPurgingPendingKillObjects=60
gc.MaxObjectsInEditor=8388607
gc.CreateGCClusters=True
gc.MergeGCClusters=False
gc.ActorClusteringEnabled=False
gc.BlueprintClusteringEnabled=False
gc.UseDisregardForGCOnDedicatedServers=False
  • AllowParallelGC:允许多线程执行 GC

  • TimeBetweenPurgingPendingKillObjects:GC 的清理周期默认为 60s,可以通过调用:

    1
    GetWorld()->ForceGarbageCollection(true);

    来强制 GC。但是如果不想然一个 UObject 被 GC 回收,可以使用AddToRoot

  • CreateGCClusters:开启可以防止对很多子物体进行 GC 遍历。