FPS Function für Fortgeschrittene
Übersicht

![]() |
Jan_Ehemaliger AdminBetreff: FPS Function für Fortgeschrittene |
![]() Antworten mit Zitat ![]() |
---|---|---|
hiho
Da ich beim rechnen mit FPs keine Sekunde Warten kann, und keine lust auf schritte von 250,333,500,1000 FPS habe, suchte ich nach einer Sinnfollen Variante die FPS zu messen. leider konnte ich keine finden. Folglich dessen erstellte ich mir selber eine. Diese war etwas ausgereifter aber noch nicht ganz das, was ich wollte. Und nun habe ich meinen Persönlichen Favoriten unter den FPS funktionen(auch von mir entwickelt): Code: [AUSKLAPPEN] Global FPS_zahler,FPS_Start_Time,FPS#;für die FPS funktion
Function update_FPS(checktime%=10) Local Time,Righttime FPS_Zahler = FPS_Zahler + 1 Time=MilliSecs() If Time > FPS_START_TIME + checktime% Righttime = Time - FPS_START_TIME FPS_START_TIME = Time FPS# = (Float(FPS_Zahler)/Float(Righttime))*1000.0 FPS_Zahler = 0 EndIf Return FPS# End Function sehr zu empfehlen: Code: [AUSKLAPPEN] text 0,0,"FPS: "+update_FPS(FPS)
Forzüge dieser Funktion: -Schnell -genau -ohne limit -kann FPS mit Kommazahlen ausrechnen -Sehr Bugfrei -von mir ![]() |
||
between angels and insects |
x.Force |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Sehr interssant muss ich bei gelegenheit mal testen
OT: das heißt vorzüge ^^ |
||
AMD Athlon XP 2000+ | 1024mb DDR-Ram | Asus Radeon 9600XT | BENQ FP757 17°Zoll TFT Was kümmert mich mein Geschwätz von gestern? (Konrad Adenauer) -.- |
![]() |
Mattis_the_brain |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nur mal so ne Frage wozu bracuhs man so genau? Und wer kan keine Sec warten?^^ | ||
![]() |
wunderkind |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mattis_the_brain hat Folgendes geschrieben: Nur mal so ne Frage wozu bracuhs man so genau? Und wer kan keine Sec warten?^^
Aus welchem Grund sollte man eine Sekunde warten!? FPS will ich doch nicht irgendwann mal eine Sekunde lang feststellen, sondern laufend. |
||
![]() |
Vertex |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn du dein Programm FPS unabhängig machen willst, will der user nicht eine Sekunde warten, bis sich die Geschwindigkeit des Spiels der Geschwindigkeit des PCs angepasst hat. Wobei man für solche Zwecke besser mit der Variante beraten ist, die Zeit für die Mainloop zu messen.
mfg olli |
||
vertex.dreamfall.at | GitHub |
lettorTrepuS |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
-aus Sicherheitsgründen gelöscht- Diese Information ist mit Ihrer Sicherheitsfreigabe leider nicht erhältlich, Bürger. | ||
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
Yup, schneller ist sie auf jeden fall, aber nicht genau genug!
Beweis: Code: [AUSKLAPPEN] Graphics 320,240,16,2
SetBuffer BackBuffer() Repeat Cls FPS2# = 1000 / (MilliSecs() - OldMS#) OldMS# = MilliSecs() Text 0,0,FPs2# Text 0,20,update_FPS() Flip 0 Until KeyHit(1) Global FPS_zahler,FPS_Start_Time,FPS#;für die FPS funktion Function update_FPS(checktime%=10) Local Time,Righttime FPS_Zahler = FPS_Zahler + 1 Time=MilliSecs() If Time > FPS_START_TIME + checktime% Righttime = Time - FPS_START_TIME FPS_START_TIME = Time FPS# = (Float(FPS_Zahler)/Float(Righttime))*1000.0 FPS_Zahler = 0 EndIf Return FPS# End Function --> Werte Tabelle für ST's FPs funktion Code: [AUSKLAPPEN] Infinity
1000.0 500.0 333.333 250.0 200.0 166.667 142.857 125.0 111.111 100.0 90.9091 83.3333 76.9231 71.4286 66.6667 62.5 58.8235 55.5556 52.6316 50.0 47.619 45.4545 43.4783 41.6667 40.0 38.4615 37.037 35.7143 34.4828 33.3333 haha ST, nur unter 35 FPs, kannst du das genau bestimmen Genau sowas wollte ich mit dieser Funktion verhindern! |
||
between angels and insects |
lettorTrepuS |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
-aus Sicherheitsgründen gelöscht- Diese Information ist mit Ihrer Sicherheitsfreigabe leider nicht erhältlich, Bürger. | ||
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
hm, ich weiß es riecht nach streit, aber meine ist schneller
Meine Rechnerkonfig: 600 mhz 384mb ram win NT BB+ Angeschaltener Debuger: Zitat: ST's: 260ms bei 100000
Jan's: 340ms bei 100000 Ausgeschaltener Debuger: Zitat: ST's: 68ms bei 100000
Jan's: 26ms bei 100000 --> meine ist sogar schneller [bin_Stolz_Auf_mich] Code: [AUSKLAPPEN] Graphics 640,480,16,2
SetBuffer BackBuffer() Repeat Cls ;ST's Function t11=MilliSecs() For s=0 To 100000 FPS2# = 1000 / (MilliSecs() - OldMS#) OldMS# = MilliSecs() Next t12=MilliSecs() ;Jan's Function t21=MilliSecs() For s=0 To 100000 Checktime = 10 FPS_Zahler = FPS_Zahler + 1 Time=MilliSecs() If Time > FPS_START_TIME + checktime% Righttime = Time - FPS_START_TIME FPS_START_TIME = Time FPS# = (Float(FPS_Zahler)/Float(Righttime))*1000.0 FPS_Zahler = 0 EndIf Next t22=MilliSecs() ;Anzeige Text 0,0,"ST's Funktion: " + (t12-t11) + "ms für 100000 mal Zeitnehmen" Text 0,20,"Jan's Function: " + (t22-t21) + "ms für 100000 mal Zeitnehmen" Flip 0 Until KeyHit(1) [Edit] Wenn du sie so schreibst, kommst du ohne Debug auf 46MS und mit auf 300 ms --> sie ist dann schneller als jetzt aber immernochnicht so schnell wie meine. Code: [AUSKLAPPEN] time = MilliSecs()
[/Edit]
FPS2# = 1000.0 / (time - OldMS#) OldMS# = time |
||
between angels and insects |
lettorTrepuS |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
-aus Sicherheitsgründen gelöscht- Diese Information ist mit Ihrer Sicherheitsfreigabe leider nicht erhältlich, Bürger. | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group