Optimierter Sprite Batch!

    • C#
    • .NET (FX) 4.5–4.8

      Optimierter Sprite Batch!

      Guten Abend,
      das Projekt "OptimizedSpriteBatch" bietet die Möglichkeit große Anzahl an Sprites gleichzeitig zu zeichnen.
      Das wird dadurch gewährleistet, dass die Sprites mit nur einem DrawCall() statt mit N Calls gezeichnet werden ( anders als bei spriteBatch.Draw).
      Dadurch sind 2000x2000 große Maps bei konstant 60 FPS möglich ( gar mit Texturen der Größe 256x256!)
      [Getestet auf NVIDIA GTX 760)]

      Die Implementierung ist trivial:

      In der Load Methode werden dem OptimizedSpriteBatch die Texturen alloziert, aus der dann die Klasse ein Texture Atlas generiert.
      Nachfolgend werden die Sprites über die .AddSprite() Methode hinzugefügt .

      Jedes Sprite hat EINE eindeutige Id ( gekennzeichnet durch ein String).

      In der Draw Methode müssen dann die Methoden Begin() und End() aufgerufen werden.
      Zwischen Begin() und End() kann mittels Methode .Edit() Operationen an einem beliebigen Sprite durchgeführt werden.

      In den kommenden Updates werden _ Sprites unterschiedlicher Größe implementiert....

      Die Repository findet ihr auf GitHub .

      Ein Exempel findet ihr im Anhang.

      Viel Spaß!
      Dateien
      Und Gott alleine weiß alles am allerbesten und besser.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „φConst“ ()