2016-04-20 9 views

Antwort

-1

Wenn Sie eine Standard-Orthographic-Kamera verwenden und nichts übermäßig funky damit tun (außer Übersetzung), dann sollte es dies automatisch tun. Aber es hängt vielleicht davon ab, wie alles aufgebaut ist.

Um sicher zu sein, können Sie immer versuchen, die Leistung zu testen, wenn Sie lächerliche Zahlen von Sprites innerhalb und außerhalb des Raumes zeichnen.

Es gibt auch ScissorStack; https://github.com/libgdx/libgdx/wiki/Clipping%2C-with-the-use-of-scissorstack

+0

Danke .. Aber warum bekommt das eine negative Stimme? –

1

Wenn Sie die Bühne verwenden, macht es das für Sie:

Von der Libgdx API Methode zeichnen Gruppen:

alle Kinder Unentschieden. applyTransform (Batch, Matrix4) sollte vor und resetTransform (Batch) nach dieser Methode aufgerufen werden, wenn die Transformation wahr ist. Wenn transform falsch ist, müssen diese Methoden nicht aufgerufen werden, Kinderpositionen werden beim Zeichnen vorübergehend um die Gruppenposition versetzt. Diese Methode verhindert, dass Kinder vollständig außerhalb des Culling-Bereichs gezeichnet werden, wenn eingestellt ist.

Also ohne die Bühne müssen Sie dies manuell tun.

+0

Vielen Dank für Ihre Antwort ... Aber ich verwende keine Bühne und ich zeichne das Sprite direkt auf den Bildschirm. –

0

Es wird gezeichnet, aber der GPU-Overhead wird niedriger sein, da der Fragment-Shader für dieses Sprite nicht auf allen Fragmenten ausgeführt werden muss. CPU Overhead wird gleich sein.

Ob es sinnvoll ist, Sprites manuell zu prüfen und außerhalb des Kamerasteins zu löschen, hängt davon ab, wie viele Sie gleichzeitig ausführen können. Wenn Sie jedes einzelne Sprite manuell überprüfen müssen, ist es wahrscheinlich nicht wert, weil Sie ungefähr so ​​viel CPU-Overhead ausgeben werden, wie Sie es vom Bildschirm ziehen würden. Aber wenn Sie Gruppen von ihnen schnell überprüfen können, dann kann es sich lohnen.

Verwandte Themen