打开 ProjectSettings
-Engine
-GarbageCollection
查看设置:
它们是在配置文件 Engine\Config\BaseEngine.ini
中的。
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| [/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 遍历。