Fps counter

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

US-Blitz

ehemals "SimssmiS"

Betreff: Fps counter

BeitragMo, Jul 19, 2010 17:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Repeat
startframe#=MilliSecs()
Cls
Text 0,0,frames+" fps"
Flip 0
frames=60/(Stopframe#-startframe#)
Stopframe#=MilliSecs()
Until KeyHit(1)


was ist an diesem counter falsch er zeigt immer -2147483648 fps an was muss ich ändern

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMo, Jul 19, 2010 17:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Nimm folgenden. Der ist absolut genau und benötigt nur ''eine Stelle'' im Code, wodurch dieser sich einfach integrieren und wieder deaktivieren lässt.

Code: [AUSKLAPPEN]
   ;FPS>>>>>>>>
   Text 20,20,FPS
   MSC=MilliSecs()
   If MSC>MTS Then
      MTS=MTS+1000: FPS=FRM: FRM=1
      If MSC>MTS+2000 Then MTS=MSC
   Else: FRM=FRM+1: End If
   ;FPS<<<<<<<<<<<<<<<<<
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

Xeres

Moderator

BeitragMo, Jul 19, 2010 17:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Du Rechnest gar keine Frames per Second aus - das wird das grundlegende Problem sein.
Die Zuweisung von Stopframe gehört vor die Rechnung in der Stopframe vorkommt...
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

US-Blitz

ehemals "SimssmiS"

BeitragMo, Jul 19, 2010 17:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

frames=FPSCOUNT()

...
Code: [AUSKLAPPEN]

Function FPSCOUNT()
   MSC=MilliSecs()
   If MSC>MTS Then
      MTS=MTS+1000: FPS=FRM: FRM=1
      If MSC>MTS+2000 Then MTS=MSC
   Else: FRM=FRM+1: End If
   Return Fps
End Function

mach ich was falsch kommt immer 0 frames

Xeres

Moderator

BeitragMo, Jul 19, 2010 18:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Sofern du die Variablen nicht Global deklarierst, sind sie in der Funktion 0... Rolling Eyes
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)
 

Blitzjockey

BeitragMo, Jul 19, 2010 18:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Variabelen die innerhalb eine Funktion deklariert werden, wie in Dein Fall MSC, MTS, FRM und FPS, verschwinden aus dem Speicher sobald die Funktion abgeschlossen wird.

Du müsstest MSC, MTS und FRM direkt am Anfang Deiner Kode, ausserhalb die Funktionen, als Global deklarieren. Damit weisst der Computer das Du die werten behalten möchtest.

BlitzBasic: [AUSKLAPPEN]
Global MSC%, MTS%, FRM%, FPS%

Dass sollst Du zwar so wenig wie möglich machen, aber manchmal - wie in diesem Fall - ist es brauchbar.

EDIT

Wieder zu spät...

JimBobBalou

BeitragMo, Jul 19, 2010 18:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Du musst die Variablen als global setzen.
edit: ups, zu spät

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group