Jump to content
Unity Insider Forum

Machen zu viele Scripte auf einem PlayerOnject dieses träge?


Triky313

Recommended Posts

Hi Leute,

ich versuche gerade Grundlegende Dinge zu klären.

Aktuell stehe ich vor der Frage, ob es so gut ist, wenn mein PlayerObject (In dem Fall 2D) viele Scripte mit Informationen und Funktionen hat?

Als Beispiel: StatusWerte direkt im Player oder lieber in einem MainController speichern?

Gleiches bei Items die ein PlayerObject besitzt. Kann es da zu Problemen führen, hat da schon jemand Erfahrung mit gesammelt?

 

Aktuell hat mein PlayerObject nur 4 Klassen aber trotzdem kann das ja schnell mal mehr werden.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Aus meinen Erfahrungen kann es zu Performanceproblemen führen, wenn man zahlreiche Objekte "gleichen Typs" in der Szene hat und diese jeweils mehrere Skripte enthalten. Ein Negativbeispiel wären Coins in einem einem 2D-Spiel die zu hunderten in der Szene vorkommen und an diesen Coins jeweils mehrere Skripte hängen (Collect / Trigger / Raycast etc). Hier sollte man lieber die Coins ohne ein GameObjekt (Graphics.DrawMesh oder Graphics.DrawMeshInstanced) und ohne Skripte pro Frame darstellen und die Coins jeweils über ein "ControllerSkript" verwalten. Dieses besitzt dann eine Datenstruktur die alle Positionen und Rotationen der Coins in der Szene enthält (also im Endeffekt die Informationen eines GameObjektes abbildet).

EIn einzelnes Objekt in der Szene (wie ein Spielerobjekt) mit einer handvoll Skripten (5-10) halte ich eher für unkritisch. Hier würde ich dann eher darauf achten, daß diese Skripte nur wenn "unbedingt notwendig" etwas in der Update- oder LateUpdate-Methode ausführen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Generell kann man sagen, die Anzahl der GameObjekte und Skripte in einer Szene möglichst auf ein Minimum zu beschränken. Alles in eine Klasse zu packen, nur damit man Skripte spart, macht allerdings auch keinen "Sinn". Vielmehr sollte man darauf achten, die Zahl die sich ergibt aus GameObjekte je Szene  * Anzahl Skripte pro GameObjekt zu begrenzen. Zudem ist nach meinen Erfahreungen ein GameObjekt mit mehreren Skripten prinzipiell besser ist als viele GameObjekte mit einem Skript (die Performance der Skripte mal außer acht gelassen).

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...