Frage von Crysali, 17

GameObject recyclen notwenig ( Unity, Game Engines)?

Ist es nötig/empfohlen, GameObjects zu recyclen, statt sie zu zerstören ? Ich kenne das bisher nur so, dass man so wenig Objekte wie möglich zerstören soll. Sollte ich nun einen Recycler schreiben, der mir nicht benötigte GameObjects versteckt und für spätere Verwendung aufzuheben.

Konkretes Beispiel, ich erstelle in einem Dungeon Generator viele "Tiles", einfache Cubes, die als Boden dienen. Das sind schnell mal 250-500 pro Level. Sollte ich bei einem neuen Level die alten Cubes zerstören und einfach neue erstellen oder ist es empfehlenswert, die alten Cubes zu recyclen und wiederzuverwenden ?

Antwort
von Berny96, 9

Du hast dir ein echt blödes Beispiel ausgesucht denn gerade beim Level Wechsel darf man doch länger brauchen? Wenn aber der Level in einer Szene gewechselt wird und du quasi in einer Welt das neue Level baust dann hast du schon recht. Einfach die schon vorhandene Tiles auf die richtigen Positionen setzen falls sie denn reichen und gegebenenfalls neue spawnen, dass sollte dann soweit reichen. Was aber noch besser sein könnte wäre statt ganz vielen Cubes vielleicht eine Plane zu verwenden und sie entsprechend mit einer Tilemap auszustatten also die Tiles quasi nur in der Sprite existieren. Das wäre wohl das effizientiste. Generell aber wie gesagt und wie du auch gehört hast ist das sogenannte "Object-Pooling" immer schneller und verbraucht weniger Rechenleistung.

Keine passende Antwort gefunden?

Fragen Sie die Community