Animationssystem in 2D



  • Ich "entwickle" in SFML seit einiger Zeit ein kleines Spiel. Ist mehr zum austoben gedacht. Jedenfalls bin ich da auf ein Hindernis gestoßen.

    Ich wollte ein einfaches kleines Animationssystem erstellen. Also eine Klasse die x-Bilder lädt und diese in einer Liste bereithält. Alles schön so weit, funktioniert auch. Sieht auch richtig gut aus! Jetzt das ABER:
    Wenn ich die ganzen Bilder vorlade, dann hab ich einen enormen Speicherverbrauch ( > 500MB, ohne 20MB ). Lade ich die Bilder aber jeden Frame neu von der Platte, dann bricht die Framerate ein.

    Wie löst man das jetzt? Welche Alternativen hab ich? Kann ja nicht so schwer sein... oder doch?
    Danke schonmal!



  • Du könntest etwas mehr Bilder im Speicher vorhalten, aber nicht alle. Wenn Du z.B. immer die nächsten 5 Bilder vorhältst und bei Bedarf lädst, sollte es weniger Ruckler geben.
    Du musst also nach jedem Frame prüfen, ob die nächsten 5 Bilder geladen sind und wenn nicht, lade sie.


  • Mod

    Dir bleiben viele möglichkeiten. Vielleicht brauchst du die meisten bilder nicht,dann behalte nur die letzten 100 im cache.leg sie in weniger farben ab oder als dxt etc.


Anmelden zum Antworten