60 frames per second
Blitz3D Forums/Blitz3D Beginners Area/60 frames per second
| ||
How can a tell if my program/app is runnning at 60 fps. For that matter, how can I find out how many frames per second my app is runnning. |
| ||
Count how many times flip gets invoked every second |
| ||
it's the time difference between the current and previous frames in your program, people call this "frame time" and it's usually measured in milliseconds.While (...) frameTime = Millisecs() - lastTime If frameTime = 16 Then Text(0, 0, "Running at 60 FPS") lastTime = Millisecs() WendIf that frame time is close to 16.666 milliseconds then your program is running at approximately 60 frames-per-second. This 16.666 value comes from the expression (1000.0 / 60.0) "If a second (= a thousand milliseconds) is divided into sixty slices, how many milliseconds are in one of those slices?" and then you check if the latest slice follows this rule. |
| ||
To guarantee that your app is running at 60FPS at any computer use CREATETIMER() and WAITTIMER:FPS%=CreateTimer(60) ; Your mainloop: While Not KeyHit(1) Cls ;Draw your screen stuff here Flip 0 WaitTimer FPS Wend |
| ||
Thanks guys |
| ||
i use this code to count the frames per second (FPS) :;before the mainloop : Global MainLoopTimer = CreateTimer(30) ;this is used to limit the maximum FPS, but not required ;during the mainloop : Repeat MainLoopMilliStart% = MilliSecs() ;the milliseconds value at the start of the mainloop UpdateProgram() ;update your program here SetBuffer(BackBuffer()) RenderWorld() Color(255,255,255) CText("FPS = "+FPS,0,0) ;Flip(1) ;use only this line if you don't want to limit the FPS WaitTimer(MainLoopTimer) ;use this line and the next if you want to limit the FPS VWait():Flip(False) MainLoopMilliTime = MilliSecs() - MainLoopMilliStart ;the milliseconds time it takes to do a mainloop If( MainLoopMilliTime < 1 ) ;this is to prevent a division by 0 when calculating the FPS MainLoopMilliTime = 1 EndIf FPS% = 1000.0/MainLoopMilliTime until( keydown(1)=true ) |
| ||
I think if you use Win 10- 60 FPS is the most Blitz can do while rendering and updating the screen- my progs all run at 60 FPS. Some commercial games on my pc claim to run at 70+ fps but I doubt it. Or is it because monitors run at 60 fps? hmmmm.... |
| ||
RemiD, thanks!! |