Unity3D Profiler дает мне пики, которые в основном связаны с сборкой мусора. На скриншоте ниже три красных пика представляют три киоска, которые у меня были в моем игровом процессе. Каждый из этих киосков составляет 100 + мс, и большую часть времени тратится на TrackDependencies
.
Согласно Инструкция Unity, я попытался добавить это в свой код:
if (Time.frameCount % 30 == 0)
{
System.GC.Collect();
}
Это не помогло. У меня все еще есть шипы, и они все равно принимают 100 + мс. Что именно происходит и что я могу сделать для оптимизации моей игры?
PS:
Я динамически создаю и уничтожаю много GameObject
в своей игре. Это может быть проблема?
У меня нет конкатенации строк в цикле или массиве как возвращаемое значение, как показано в сообщение.