Hey
Ich mache gerade ein RPG und benutze tiles auf einem Gitter (16x16 grid, 256 tiles je 50px Höhe/Breite).
Jetzt weiß ich nicht welche der folgenden Möglichkeiten die beste bezüglich der Performance ist:
1.1) Ich zeichne auf jedes Feld ein bestimmtes tile. Vorteil: Man kann dynamisch die Levels gestalten und im Nachhinein schnell und einfach noch etwas ändern. Nachteil: Sehr Performance-lastig (256 Mal _GDIPlus_GraphicsDrawImage(), dazu kommen dann ja noch die anderen Sachen wie ein UI, die ich zeichnen muss.) Habe ich schon ausprobiert und meine FPS werden extrem gedrückt (auf weit unter 30).
1.2) siehe 1.1, nur dieses Mal habe ich alle tiles in einem tileset, sprich alle einzelnen Bilder auf einem einzigen großen Bild und benutze dann _GDIPlus_GraphicsDrawImageRectRect(). Habe ich nur ansatzweise und nicht ausgiebeig getestet, sollte aber die Performance nicht weniger drücken als in 1.1, von daher...
2.) Ich zeichne die verschiedenen Level-Abschnitte, mache jeweils vom gesamten Abschnitt einen Screenshot und benutze diesen als Hintergrundbild. Vorteil: Ich muss nur ein einziges Mal _GDIPlus_GraphicsDrawImage() benutzen; kommt der Performance zu Gute. Nachteil: Umständlich, wenn ich im Nachhinein etwas ändern will.
3.) ??? (mir fällt nichts mehr ein)
PS das Gitter soll wie ganz oben beschrieben bleiben.
Habt ihr Ideen wie man es am besten realisieren könnte? Hat vielleicht jemand selbst schon ein solches oder ähnliches Spiel gemacht und eine akzeptable Lösung gefunden?
Danke im Voraus für eure Tips und Hilfe