wieso hab ich nur so wenig fps bei ner einfachen 2D map

Übersicht BlitzBasic Allgemein

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

Freeman

Betreff: wieso hab ich nur so wenig fps bei ner einfachen 2D map

BeitragDo, Apr 22, 2004 19:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi

ich wollte mal fragen ob das normal ist wenn man bei ner 100 * 100 map
bei ner auflösung von 1024*768 ne fps Rate von 31 hat? kann mir nemlich nicht vorstellen das das normal ist. Ich habe eigentlich nur ein Dim feld in das alles für die Map eingespeichert wir ( dim map(100,100,5))
. ich lass dann alles einlesen und male alles wieder in einem Prozess, allerdings ist dieser Prozess in einer repeat schleife (is doch normal, oda?)
ich habe natürlich noch nen billiges mapscrolling drin , aba kann mir nicht erklären woran das liegt das ich soone fps probleme hab.Bitte um Hilfe
MacBook | MacOSX 10.5 | 80GB HDD | 1GB | BlitzMax 1.28

Hubsi

Betreff: Re: wieso hab ich nur so wenig fps bei ner einfachen 2D map

BeitragDo, Apr 22, 2004 19:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Freeman hat Folgendes geschrieben:
male alles wieder

Male nur das was man auch sieht. 100*100*5=50000 Exclamation
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Mr.Keks

BeitragDo, Apr 22, 2004 19:41
Antworten mit Zitat
Benutzer-Profile anzeigen
hrm, das dürfte aber nicht reichen, um ein programm auf 31 fps zu drücken, hubsi ^^.

fpsroutine prüfen und nochmal schaun, ob man nicht vielleicht doch noch was falsch gemacht hat Smile
MrKeks.net

Abrexxes

BeitragDo, Apr 22, 2004 19:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Inarie hat Folgendes geschrieben:
hrm, das dürfte aber nicht reichen, um ein programm auf 31 fps zu drücken, hubsi ^^.


Wenn ein billiges Motherboard verbaut wurde dessen Speicher-anbindung über die PCI-Bridge katastrofal ist kann es bei der Auflösung durchaus zu solchen einbrüchen kommen wenn die CPU die Daten nicht optimal CACHEd.

Auch im Bios überprüfen ob das CLOCKING der RAMS stimmt.

Kryan

BeitragDo, Apr 22, 2004 20:02
Antworten mit Zitat
Benutzer-Profile anzeigen
zeig mal den code Shocked
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!
 

Dreamora

BeitragDo, Apr 22, 2004 20:15
Antworten mit Zitat
Benutzer-Profile anzeigen
für solche zwecke wurden culling algos doch entwickelt ... das man net zeichnet was eh keiner sieht Smile
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Freeman

BeitragDo, Apr 22, 2004 20:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Dreamora hat Folgendes geschrieben:
für solche zwecke wurden culling algos doch entwickelt ... das man net zeichnet was eh keiner sieht Smile


entschuldigung wenn ich fragen muss, aber was zur Hölle sind denn culling algos? Also ihr meint ich soll nur das malen was was man aucxh sieht ja?wie macht man das?
MacBook | MacOSX 10.5 | 80GB HDD | 1GB | BlitzMax 1.28

TheShadow

Moderator

BeitragDo, Apr 22, 2004 21:14
Antworten mit Zitat
Benutzer-Profile anzeigen
er meint sicher clipping - Wenn du in DirectX ein Bild malst, dann wird nur sichtbarer Bereich gezeichnet - Teile die ausserhalb liegen, werden nicht dargestellt... So musst du auch machen

https://www.blitzforum.de/viewtopic.php?t=2329
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2

Freeman

BeitragDo, Apr 22, 2004 22:23
Antworten mit Zitat
Benutzer-Profile anzeigen
ich habe es jetzt etwas anders gemacht, aber es ist der selbe effekt. Auch hier wird beim scrollen nur die Fläche angezeigt die auf dem Bildschirm angezeigt wird! Ich zeig mal wie ich das gemacht hab, weil irgendwie bringt das kaum Vorteil ... ( ungefähr 12frames schneller)


Code: [AUSKLAPPEN]


auflX = 800 ; Auflösung X Variable
auflY = 600 ; Auflösung Y Variable
A_StartwertY = 0 
 A_StartwertX = 0
startwertY = auflY
startwertX = auflX


wichtigen werte festlegen


Code: [AUSKLAPPEN]


Function Mapscrolling()

If KeyDown(30) And scrollX >= 1  ;Mapscrolling links

scrollx = scrollx - 5
startwertX = startwertX - 5
A_StartwertX = A_StartwertX - 5

EndIf

If KeyDown(32) And scrollX <= 1199 ;Mapsrolling rechts

scrollx = scrollx + 5
startwertX = startwertX + 5
A_StartwertX = A_StartwertX + 5

EndIf

If KeyDown(17) ; Mapscrolling hoch

scrolly = scrolly - 5
startwertY = startwertY - 5
A_StartwertY = A_StartwertY - 5

EndIf

If KeyDown(31) ; Mapscrolling runter

scrolly = scrolly + 5
startwertY = startwertY + 5
A_Startwerty = A_Startwerty + 5

EndIf

End Function

scrolling Funktion und die + veränderung der Malbereiche (nenn ich mal so)


Code: [AUSKLAPPEN]


For NeuzeitTownY = A_StartwertY/16 To startwertY/16
For NeuzeitTownX = A_StartwertX/16 To startwertX/16
For layer = 1 To 2
DrawImage tile,NeuzeitTownX*16-scrollx,NeuzeitTowny*16-scrolly, NeuzeitTown(NeuzeitTownX,NeuzeitTownY,layer) 
 Next : Next : Next


malen der map


also ich bin mir sicher , das ich den rest , der nich auf dem Bildschirm drauf ist , immer abschneide/nicht male.

was denkt ihr ?
MacBook | MacOSX 10.5 | 80GB HDD | 1GB | BlitzMax 1.28
 

furbolg

BeitragFr, Apr 23, 2004 0:36
Antworten mit Zitat
Benutzer-Profile anzeigen
nein im 3D Bereich heisst das Culling, Clipping ist 2D. Und das sind nützliche Algos Anfangen über ViewFrustum Culling, Occlusion Culling bis zu Quadtree, Octree usw.

Markus2

BeitragFr, Apr 23, 2004 1:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Zähle doch einfach mal wie oft das Image in deiner Schleife
gezeichnet wird und guck wie oft es in deinen Screen passen würden .

Wenn das erste Layer nicht durchsichtig ist evtl. mal DrawBlock versuchen .

BladeRunner

Moderator

BeitragFr, Apr 23, 2004 10:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
weil irgendwie bringt das kaum Vorteil ... ( ungefähr 12frames schneller

vorher 31 Frames? dann hast du ne Geschwindigkeitssteigerung von satten 38 %....
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

BIG BUG

BeitragFr, Apr 23, 2004 10:51
Antworten mit Zitat
Benutzer-Profile anzeigen
16x16 Tiles sind auch ein bisschen klein. Es ist wesentlich effizienter wenige große Bilder anstelle von vielen kleinen zu zeichnen.
Wenn du deine Welt folglich vorher in mehrere große Bilder zeichnest und diese dann zur Darstellung verwendest, kannst du eine Menge Speed rausholen.
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final)

General Alex

BeitragFr, Apr 23, 2004 10:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Benutzt du beide Buffers (Front- und Backbuffer)? Dann versuch's einmal mit "Flip 0".

Jan_

Ehemaliger Admin

BeitragFr, Apr 23, 2004 11:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Es gibt noch 2,5 Methoden,
1. Du kiffst, da merkst du nicht mehr, wie langsam/schnell das geht
2. wenn du viel Ram hasst, Zeichnest du alle Bilder einfach in 1 Image und Zeigst das dann an!
2,5te. Du benutzt eine Kleinere Map oder weniger Layer.

@ TheShadow, oh ich bin geehrt, das du meine Antwort verlinkst!
between angels and insects
  • Zuletzt bearbeitet von Jan_ am Fr, Apr 23, 2004 11:18, insgesamt einmal bearbeitet
 

Dreamora

BeitragFr, Apr 23, 2004 11:17
Antworten mit Zitat
Benutzer-Profile anzeigen
ups sorry
jopp meinte natürlich clipping ... *rein von dem her was sie tun sind sie ja gleich, nur andere Dimension*
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Freeman

BeitragFr, Apr 23, 2004 11:21
Antworten mit Zitat
Benutzer-Profile anzeigen
also, sorry, jetzt , aba ich hatte nich gemerkt das mein BlitzIDE auf debug modus steht.....sorry, jetzt geht es natürlich wieder richtig schnell, danke trotzdem
MacBook | MacOSX 10.5 | 80GB HDD | 1GB | BlitzMax 1.28
 

Dreamora

BeitragFr, Apr 23, 2004 11:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Freut mich zu hören, dass es nur dieses kleine "Problem" war Smile
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Jan_

Ehemaliger Admin

BeitragFr, Apr 23, 2004 11:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok, ich nehme das zurück:
Jan_ hat Folgendes geschrieben:

1. Du kiffst, da merkst du nicht mehr, wie langsam/schnell das geht


Und behaupte Jetzt, ich glaube, du solltest mit Drogen aufhören damit du noch alles Checkst Smile
(Nicht böse gemeint!)

Bei großen Maps solltest du For-next durch Repeat until ersetzten,
Das bringt bei 1024*1024*5 Tiles 5 FPS unterschied (von 1 auf 6 Smile )
Aber, ich glaube, so extrm ist es noch nicht Smile
between angels and insects

Freeman

BeitragFr, Apr 23, 2004 14:40
Antworten mit Zitat
Benutzer-Profile anzeigen
edit :

achso ihr habt mich gefragt wie oft ich die map male. Ich weis das es nen Fehler ist aber sie wird immer gemalt, runt um die uhr, und da mir nichts andres einfällt wann ich sie nur malen sollte, weis ich eben nicht was ich da verbesern könnte , oder habt ihr Vorschläge??
MacBook | MacOSX 10.5 | 80GB HDD | 1GB | BlitzMax 1.28

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group