Ich habe viele Beispiele für das Rendern von Sprites aus einem Spritesheet gesehen, aber ich habe nicht verstanden, warum dies die häufigste Art ist, mit Sprites in 2D-Spielen umzugehen.
Ich habe in den wenigen Demo-Anwendungen, die ich erstellt habe, mit dem Rendern von 2d-Sprites begonnen, indem ich jeden Animationsrahmen für einen bestimmten Sprite-Typ als eigene Textur behandelt habe - und diese Sammlung von Texturen wird in einem Wörterbuch gespeichert. Dies scheint für mich zu funktionieren und passt ziemlich gut zu meinem Arbeitsablauf, da ich meine Animationen in der Regel als GIF- / MNG-Dateien erstelle und dann die Frames in einzelne PNGs extrahiere.
Gibt es einen spürbaren Leistungsvorteil beim Rendern von einem einzelnen Blatt anstatt von einzelnen Texturen? Ist es bei moderner Hardware, die in der Lage ist, Millionen von Polygonen hundertmal pro Sekunde auf den Bildschirm zu ziehen, sogar für meine 2D-Spiele von Bedeutung, die nur ein paar Dutzend Rechtecke mit einer Auflösung von 50 x 100 Pixel verarbeiten?
Die Implementierungsdetails zum Laden einer Textur in den Grafikspeicher und zum Anzeigen in XNA scheinen ziemlich abstrakt zu sein. Ich weiß nur, dass Texturen beim Laden an das Grafikgerät gebunden werden. Während der Spieleschleife werden die Texturen stapelweise gerendert. Daher ist mir nicht klar, ob meine Wahl die Leistung beeinflusst.
Ich vermute, dass es einige sehr gute Gründe gibt, warum die meisten 2D-Spieleentwickler sie zu verwenden scheinen. Ich verstehe nur nicht, warum.