Unity3D: Optimierung garbage collection

Unity3D Profiler gibt mir die Spitzen, die meist über die garbage collection. In der Abbildung unten sehen Sie die drei roten Spitzen stellen die drei Stände, die hatte ich in meinem gameplay. Jeder dieser Stände sind 100+ms und die meiste Zeit wurde damit verbracht, auf TrackDependencies.

Laut Einheit Unterricht, ich habe versucht, das hinzufügen dieser zu meinem code:

if (Time.frameCount % 30 == 0)
{
    System.GC.Collect();
}

Nicht helfen. Ich habe noch spikes, und Sie immer noch 100+ms. Was genau ist passiert und was kann ich tun, um die Optimierung meines Spiels?

PS:

Ich bin dynamisch erstellen und zerstören eine Menge GameObjects in meinem Spiel. Könnte das ein problem sein?

Habe ich nicht die string-Verkettung in einer Schleife oder Arrays als return-Wert als caveated in die post.

Unity3D: Optimierung garbage collection

Sie zerstören von Objekten irgendwo in deinem code?
Wenn möglich, ist eine Bündelung der Objekte zu vermeiden übermäßige Zerstörung könnte eine gute Lösung sein.
Ja, ich bin dynamisch erstellen und zerstören eine Menge von Objekten, die in meinem Spiel. In meinem Zerstöre-Objekt-Funktion, die ich auch als Resources.UnloadUnusedAssets();

InformationsquelleAutor CherryQu | 2013-07-05

Schreibe einen Kommentar