Guten Abend, ich habe heute ein kniffliges Problem.
Mein Problem dreht sich um eine eigene Implementierung einer Tilemap (weshalb ich es benötige eine eigene Tilemap zu erstellen ist eine andere Geschichte) und ich hatte bisher die Strategie verfolgt für jedes Tile mehrere Sprites zu erstellen.
Dies lief solange gut, solange die Karten relativ klein waren.
Bei 20x20 Tiles, wobei jedes Tile aus 3 separaten Sprites bestand, (macht 1200 Sprites) lief alles noch sehr flüssig, die FPS lagen bei guten 38-40.
Bei 40x40 Tiles (4800 Sprites) beliefen sich die FPS immernoch, unverändert, bei 38-40.
Hatte ich auf 60x60 erhöht (10800 Sprites) fielen die FPS jedoch einschlägig auf ein Rekordtief von 6 herab.
Ich habe mithilfe mehrerer Resourcen-Überwachungsprogramme die Werte nachgeprüft, das Spiel verbrauchte (nur) 25mb RAM und die CPU war gerade einmal bei 15-20% Auslastung.
Weitere Tests hatten jedoch ergeben, dass diese Werte für RAM und CPU-Auslastung bei 20x20 und 40x40 Tiles nicht sonderlich abwichen.
Ich frage mich also ob wirklich der Computer mit den Tilemengen überfordert war oder ob es sogar der RGSS-Player sein könnte? Kann ein hoher Performanceverlust auftreten wenn die Anzahl der Sprites die 10000 Grenze überschreitet?
Zur Information: Parallel liefen kaum Update-Methoden ab, nur eine einfach möglichkeit über die Karte zu scrollen, diese Aufgabe sollte jedoch bei steigender Kartengröße nicht mehr Performance verbrauchen also sind irgendwelche parallelen Prozesse an dem Verlust der Framerate nicht (oder wohl kaum) schuld.
Weis jemand etwas von derartigen Problemen?
Würde es helfen all diese Sprites gegen einen einzigen aus zu tauschen und ein gigantisches Bitmap anstatt zu erstellen und die entsprechenden Bildabschnitte per Blocktransfer aus den Tiles zu kopieren?