FPSunverständlicher Rückgang

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

WEBLink

Betreff: FPSunverständlicher Rückgang

BeitragDi, Nov 27, 2007 7:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

hier mal fix der Code einer TileEngine.

Code: [AUSKLAPPEN]
   For xmap = XMapScrollStart To XMapScrollEnd
   For ymap = YMapScrollStart To YMapScrollEnd
      TileXE1 = (xmap * 32)  - scrollx
      TileYE1 = (ymap * 32)  + scrolly
          If map_boden(xmap,ymap) = 0 
            DrawImageRect Ebene1pic, TileXE1,TileYE1, 0, 0, 32, 32
         EndIf
         If map(xmap,ymap) => 1
            For t = 1 To 8  ; Chipimage
               If map(xmap,ymap) = t Then DrawImageRect Ebene1pic, TileXE1,TileYE1, 0 + (32*t), 0, 32, 32
            Next
         EndIf
      If MouseDown(1)      
         map(Int(Mouse_x)/32,Int(Mouse_y)/32) = Ebene1ChipAuswahl
      EndIf
   Next
   Next


Es werden alle Tiles die zu sehen sind auch geladen und ausgebenen,Setzt man statt graß nun ein anderes Tile geht ohne erkennbaren Grund (Da ja so oder so alle sichtbaren Tiles berechnet werden) die FPS rate runter je mehr Chips man verändert.

Wo liegt mein Fehler ?

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDi, Nov 27, 2007 12:43
Antworten mit Zitat
Benutzer-Profile anzeigen
1. Da du ja selbst für den Boden ein Image einzeichnest, so würde ich generell den ganzen Aufbau ohne den If-Abfragen machen und dabei das Mainimage per ql:LoadAnimImage laden. Anzeigen tut man es dann so:

Code: [AUSKLAPPEN]
DrawImage Ebene1pic,TileXE1,TileYE1,map_boden(xmap,ymap)


2. Falls nicht unbedingt nötig auf ql:DrawImage verzichten und stattdessen ql:DrawBlock benutzen.

3. Es ist im übrigen ''normal'' das verschieden durcheinander gewürfelte Tiles langsamer sind, als in einer Reihe immer ein und die selben. Das liegt daran, das der Speicher dadurch optimiert wurde, dass vermutlich wiederkehrende Speicherbereiche im Cache ziwschengespeichert werden, welcher wesentlich schneller ist. Kommt es nun zu sehr durcheinander gewürfelten Tiles, so muss ständig aus anderen RAM-Bereichen gelesen werden, da es den Cache lange schon überfordert.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

WEBLink

BeitragDi, Nov 27, 2007 15:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Alles klar, danke für die schnelle Antwort.


MfG

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group