LIBGDX ist es besser, Spritesheet oder einzelne Bilder zu verwenden?

Ich bin neu in LIBGDX, ich habe 40 Frames für "Helden laufen" Sprite und ich weiß nicht, ob es besser ist, Spritze oder einzelne Bilder zu verwenden. Spritesheet wird sehr groß sein, weil ich auch bei 1080p Geräten eine hohe Resoultion wünsche. Kannst du mir sagen, in welchem ​​Fall (spritesheet oder einzelne Bilder) Leistung wird mir besser?

  • Android Studio fehlgeschlagen Build NDK-Projekt Nicht-Null-Exit-Wert
  • Android programmgesteuertes Tastentext
  • Wie kann ich über RTMP auf Android streamen?
  • Finde Schnittpunkt von drei Kreisen programmgesteuert
  • Wie generiere ich HMAC-SHA1 Signatur in Android?
  • Sind Fragmente und Fragmentaktivitäten inhärent schneller als Aktivitäten?
  • Verfolgen von Web-to-Device-Installationen mit Google Analytics v4
  • Umgang mit mehreren geofences Übergang mit gemeinsamen Bereich
  • Android NDK Native Methode nicht gefunden Fehler
  • Wie kann ich Vibrationen und Lichter mit den Android-Benachrichtigungen api aktivieren?
  • Überprüfen Sie, ob Android-Gerät 4K-Video unterstützt?
  • Wie mache ich eine ListView in Android?
  • 3 Solutions collect form web for “LIBGDX ist es besser, Spritesheet oder einzelne Bilder zu verwenden?”

    Da die anderen Antworten hier nicht in die falsche Richtung zeigen, aber nicht 100% genau sind, werde ich eine ausführlichere Erklärung hinzufügen.

    Im Falle einer Animation sollte es keinen Unterschied machen!

    Ob Sie ein Spriteheet oder einzelne Bilder verwenden, werden sie nur einmal an die GPU gesendet. Der einzige Unterschied zu spritesheets ist, dass man die Textur nur einmal verbindet und du wirst es nicht mehr ändern, wenn ich verschiedene Dinge mache.

    Aber das gilt nicht wirklich für deine Heldenanimation. Ob Sie ein Spritzenblatt oder ein individuelles Bild verwenden, in jedem Rahmen müssen Sie die Textur wieder binden und entweder nur einen Teil davon (im Falle eines Spritesheets) oder das ganze Bild (bei Einzelbildern), da dazwischen, zeichnen Zwei Frames, du machst auch andere Nicht-Helden-Sachen.

    Eine Ausnahme hiervon wäre, wenn du mehrere Helden in einem Rahmen zeichnst. Mit individuellen Bildern musst du jedes Mal die Textur wechseln, weil die Helden wahrscheinlich nicht synchronisiert sind. Im Falle eines spritesheets binden Sie die Textur nur einmal und ziehen dann alle Helden mit dieser einmaligen Textur-Textur (nur eine einzige Textur-Bindung wird in diesem Fall passieren).

    Allerdings gewinnst du sicherlich eine Leistungssteigerung, wenn du deine Charakter-Animation-spritesheet zu einem anderen Teil machst, "größer" spritesheet, wo auch andere Texturen verpackt sind. Auf diese Weise können Sie Ihren Charakter und andere Dinge wieder mit nur einer einzigen Textur-Bindung zeichnen.

    Das einzige Problem mit spritesheets ist, dass sie dazu neigen, etwas Platz zu verschwenden. Vor allem auf mobilen Geräten, wenn Sie gezwungen sind, POT (Power of Two) Größe Texturen verwenden, kann dies einen Unterschied machen.

    Ich denke, es ist besser, TextureAtlases zu verwenden (sollte irgendeine Art von Spritzenblatt sein). Beachten Sie, dass einige ältere Android-Geräte können nicht laden Bilder, die biger dann 512 * 512 sind. Wenn du nicht auf alte Geräte gerichtet bist, solltest du dein Maximum auf 1024 * 1024 px setzen. Also, wenn dein spritesheet mehr dauert, dann solltest du es in mehr als einem aufteilen.

    Spritesheets sind viel effizienter.

    In OpenGL (die Libgdx ist ein Wrapper um), wird eine Textur gezeichnet, indem sie an die Grafikkarte gesendet wird. Der Grund, warum SpriteSheets verwendet werden, ist, dass die ganze Textur nur einmal "gesendet" werden muss und dann getrennte Segmente des Bildes per Sprite-Frame gezeichnet werden können. Dies ist viel schneller als die Bindung einer neuen Textur für jeden Rahmen, die sehr verschwenderisch in Bezug auf Ressourcen wäre.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.