FPS anzeige in 3D Welt?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

bruce85

Betreff: FPS anzeige in 3D Welt?

BeitragFr, Jan 12, 2007 19:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
wisst ihr wie ich bei meinem Spiel die FPS "Frames per Second" anzeigen lassen kann, bzw. mit welchem befehl das geht?
oder muss ich das mit Millisecs machen?

Danke euch schonmal.

MfG Andreas
AMD Athlon(tm) II X2 250, 8 GB DDR, MSI MSI 770-C45, GeForce GTS 250

BladeRunner

Moderator

BeitragFr, Jan 12, 2007 19:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Millisecs ist das mittel der Wahl.
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
 

bruce85

BeitragFr, Jan 12, 2007 19:36
Antworten mit Zitat
Benutzer-Profile anzeigen
LÖL das ging ja schnell Laughing
Ja, aber wie kann ich das so realisieren, z.B.
Code: [AUSKLAPPEN]
if millisecs()-timer >= 1000 then
  timer = millisecs()

endif


wie soll ich das jetzt aber machen das er die Framesanzahl anzeigt die per Sekunde durchlaufen?

Andreas
AMD Athlon(tm) II X2 250, 8 GB DDR, MSI MSI 770-C45, GeForce GTS 250

BladeRunner

Moderator

BeitragFr, Jan 12, 2007 19:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Du machst dir eine Zählervariable die Du bei jedem Durchlauf um 1 erhöhst. Wenn eine Sekunde um ist wird der Zähler weitergegeben an die Variable die die Fps enthält und dann auf 0 gesetzt. Das ist alles.
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
 

bruce85

BeitragFr, Jan 12, 2007 19:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke dir,
aber dann zählt es ja jede sekunde um eins hoch und zwar unendlich.
Wenn ich z.B. bei Counter Strike: Source die FPS betrachte, dann geht die FPS Zahl einmal hoch dann wieder runter u.s.w.
Genau das möchte ich bei meinem Game auch machen, nur wie...
AMD Athlon(tm) II X2 250, 8 GB DDR, MSI MSI 770-C45, GeForce GTS 250
 

Dreamora

BeitragFr, Jan 12, 2007 19:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Falsch

Du musst bei jedem schleifendurchlauf eine temporäre variable um 1 erhöhen. wenn eine sekunde vergangen ist wird fps auf den wert der temporären gesetzt und die temporäre auf 0 gesetzt und das spiel beginnt von vorne

wie von Bladerunner beschrieben.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

bruce85

BeitragFr, Jan 12, 2007 20:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke.
Ich habs mal so probiert:

Code: [AUSKLAPPEN]
FPSZahl=FPSZahl+1
If MilliSecs()-timer >= 1000 Then
  timer = MilliSecs()
  FPS=FPSZahl
  FPSZahl=0
EndIf
Text 20,40,"FPS: "+FPS


Das wechselt ab und zu von 75 auf 76, es wird nie weniger auch nie mehr, ist es überhaupt so richtig?

Andreas
AMD Athlon(tm) II X2 250, 8 GB DDR, MSI MSI 770-C45, GeForce GTS 250
 

Dreamora

BeitragFr, Jan 12, 2007 20:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Jo so ist es richtig.
Weniger wirds kaum wenn das alles ist.
Und mehr wirds nicht weil dein Flip vermutlich auf VSync wartet und du einen 75hz bildschirm hast Smile
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

bruce85

BeitragFr, Jan 12, 2007 20:07
Antworten mit Zitat
Benutzer-Profile anzeigen
jo genau Very Happy
also vielen dank, ihr habt mir sehr geholfen Very Happy

MfG Andreas
AMD Athlon(tm) II X2 250, 8 GB DDR, MSI MSI 770-C45, GeForce GTS 250

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group