Was Sie wollen, ist ein Speicherprofiler, den Unity hat. Hier: http://docs.unity3d.com/Manual/ProfilerMemory.html
Aber Ihre Annahme ist meistens richtig, wenn ein gameObject für die Kamera nicht sichtbar ist, wird es nicht gezeichnet und verbraucht weniger Ressourcen, muss aber dennoch einige verbrauchen. Das gameObject ist weiterhin im Speicher vorhanden, einschließlich aller Texturen, Modellskripte usw. Es verbraucht weiterhin CPU-Zeit durch die Update- und FixedUpdate-Methoden (und verschiedene andere hier beschriebene ).
Normalerweise ist die Hauptverlangsamung das Zeichnen. Ein kleiner Teil der CPU-Zeit wird verwendet, um festzustellen, dass sich das Objekt außerhalb des Kamerastumpfs (Grenzen) befindet, aber es wird kein Zeichnen durchgeführt.
Die kurze Antwort lautet "Ja"; Alles, was für Ihr Spiel bereit ist, nimmt Speicherplatz in Anspruch.
Die andere zu berücksichtigende Sache sind die Kosten für Ihre Framerate:
5 Objekte mit 5 separaten Texturen, die separat gezeichnet werden, erfordern dazwischen Zustandsänderungen. Möglicherweise können Sie Speicherplatz sparen, indem Sie nicht verwendete Texturen entladen.
Durch Laden aller separaten Texturen in eine einzelne Atlas-Textur wird der Speicherbedarf festgelegt und Sie können eine einzelne Textur nicht mehr entladen. Einmal erstellt, müssen Sie den Atlas nur einmal binden, um alle Ihre Objekte zu zeichnen.
Ein weiteres Beispiel ist ein einfacher Scheitelpunkt- und Indexpuffer. Wenn viele der Punkte häufig zwischen sichtbar und nicht umschalten, ist es schneller, die "veralteten" Punkte im Scheitelpunktpuffer zu belassen und nur einen neuen Indexpuffer hochzuladen.
Es gibt viele andere Fälle, in denen erhöhte Speicherkosten im Voraus vielen Statusänderungen vorzuziehen sind.
Wenn Sie am Beispiel eines Side-Scrollers nur nach rechts bewegen können (die Karte scrollt nur nach links), kann jedes Objekt, das von der linken Seite des Bildschirms rollt, dauerhaft entladen werden, da Sie es nie wieder verwenden werden. Darüber hinaus kann der Inhalt für Objekte direkt vor dem Scrollen in die Ansicht von rechts geladen werden.
quelle
Viele Antworten berücksichtigen hauptsächlich den grafischen Aspekt Ihrer Frage.
Tatsache ist, dass sie verschiedene Ressourcen beanspruchen und wie teuer sie im Vergleich zum Zeichnen des Objekts sind, ist nicht festgelegt. Es ist nicht so ungewöhnlich, wie einige Antworten implizieren, dass Ihre Komponenten teurere Vorgänge ausführen als das Zeichnen, aber Sie können den Ressourcenverbrauch minimieren. Denken Sie auch daran, dass ein GameObject wenig Speicherplatz beansprucht, ebenso wie seine Komponenten. Die Komponenten können auch Dinge tun, die ein gutes Stück Speicherplatz beanspruchen.
Der einfachste Weg, um die Auswirkungen von Off-Screen-Komponenten zu minimieren, ist ein System, das auf den Rückrufen OnBecameVisible und OnBecameInvisible basiert .
Dies ist natürlich nur von sehr begrenztem Nutzen, da Sie häufig möchten, dass ein Objekt außerhalb des Bildschirms das Spiel beeinflusst. Sie können jedoch ein Muster dieser Art für ein feinkörniges System erweitern, mit dem die Auswirkungen Ihrer teuersten Berechnungen minimiert werden können. Selbst etwas so Einfaches wie das Verringern der Qualität eines Pfadverfolgungsskripts, wenn sich das Objekt außerhalb des Bildschirms befindet, kann auf lange Sicht zu großen Einsparungen führen.
quelle
Es benötigt Speicher, um am Leben zu bleiben und seine Position und andere Eigenschaften zu aktualisieren.
Es verbraucht jedoch keine Computer- / Mobilgrafikressourcen, da es nicht sichtbar ist.
Ja, es verbraucht zwar Speicherressourcen, aber keine Grafikressourcen wie ein sichtbares Spielobjekt.
quelle
Alles, was sich in einem Programm befindet, verbraucht Ressourcen. Sie glauben nicht, dass Programme nur auf Hoffnungen und Träumen beruhen, oder?
Die Frage sollte sein, wie viel Ressourcen ein Spielobjekt verbraucht, und zu diesem Zweck halte ich dies für eine ziemlich solide Antwort: http://answers.unity3d.com/questions/280455/how-much-memory-a-gameobject- verbrauchen.html
Kurz gesagt, sie verbrauchen selbst vernachlässigbare Ressourcen. Aber warum sollten Sie eine Reihe von Spielobjekten wollen, die nur in Ihrem Spiel sitzen und nichts tun? Letztendlich ist es das, was diese Spielobjekte tatsächlich "tun" lässt, was zu jeglichem Overhead führen wird - und wie viel Ressourcen, die benötigt werden, von Fall zu Fall sehr unterschiedlich sind.
quelle