100 FPS mehr durch Tilemap Clipping

Da ich momentan noch auf Bug-Jagd durch die Tiefen von The Kingdom of Darkness bin, habe ich heute mal zu Abwechslung das Tilemap Clipping eingebaut. Durch diese Technik werden einfach nicht alle Tiles gezeichnet, sondern nur die, die auch grade auf dem Bildschirm zu sehen sind.

Der Performancegewinn hängt von der Größe der Karte ab, bei mir hat es 100 FPS gebracht. Das ist weniger als es erstmal klingt, den ob ein Spiel nun mit  300 oder 400 Frames pro Sekunde läuft kann man nicht merken… Trotzdem hatte ich schon lange vor diese Technik einzubauen. Die Änerung ist eigentlich auch nur sehr klein:

for (int i = (int)Camera.CameraPosition.X / 32; i < Math.Min(((int)Camera.CameraPosition.X / 32) + 26, Tiles.Count); i++)
 {
 // Alle Spalten durchlaufen
 for (int j = (int)Camera.CameraPosition.Y / 32; j < Math.Min(((int)Camera.CameraPosition.Y / 32) + 20, Tiles[0].Count); j++)
 {

statt

for (int i = 0; i < Tiles.Count; i++)
 {
 // Alle Spalten durchlaufen
 for (int j =0; j <  Tiles[0].Count; j++)
 {

Und weiter geht die Bugsuche….

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.