FPS ermitteln!
Übersicht

![]() |
Evolver01Betreff: FPS ermitteln! |
![]() Antworten mit Zitat ![]() |
---|---|---|
hallo,
ich möchte wissen wie man in b3d die "Frames Per Second" ermitteln kann! in der suchfunktion habe ich nix gefunden! MfG Evolver |
||
Grafiker von Space Threat... |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Eine Möglichkeit zB:
Code: [AUSKLAPPEN] ms=MilliSecs():Text 0,0,fps
If ms>mt mt=ms+502:fps=frame:frame=0 Else frame=frame+2 |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
so ungefähr
Code: [AUSKLAPPEN] Repeat ms=MilliSecs() ;Stuff fps=1000/(Millisecs()-ms) Until KeyHit(1) EDIT: Da hast spgar 2 Möglichkeiten, wobei ich die von hectic nicht durchschau ![]() |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
Evolver01 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wunderbar! danke für die schnelle antwort, ich hoffe dies wird einem anderen irgendwann auch mal helfen! | ||
Grafiker von Space Threat... |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es gibt unterschiedliche arten die FPS zu ermitteln, und jede hat ihre Vor- und Nachteile. Hier mal ein paar aufgezählt:
1. Methode von Eingeproggt (oben angegeben): Vorteil: Die schnellste Angabe von Werten Nachteil: Wert kann (wegen ständigem wechsel) kaum abgelesen werden Code: [AUSKLAPPEN] fps=1000.0/(MilliSecs()-ms)
Text 0,100,fps ms=MilliSecs() 2. Eine Methode von StepTiger: Vorteil: Die genauste Angabe von Werten Nachteil: Sehr lange 'Wartezeit' bis richtige Werte angegeben werden (sliding) Code: [AUSKLAPPEN] f#=0
time=MilliSecs() ;Schleife Beginn f=f+1 Text 1,1,f#/(MilliSecs()-time)*1000 ;Schleife Ende 3. Meine oben genante Methode: Vorteil: Schnelle Angabe von Werten Nachteil: Wert wird bei hohen FPS-Werten ungenau Code: [AUSKLAPPEN] ms=MilliSecs():Text 0,0,fps
If ms>mt mt=ms+502:fps=frame:frame=0 Else frame=frame+2 1. Finde ich zu schnell wechselnd. Wenn zB der Wert immer wieder wechselt, so kann man kein vernünftigen Wert dabei auslesen. Je schneller die FPS umso schlimmer wird es 2. Ist für messzwecke (wo die FPS eines Programmes von Anfang an relativ konstant bleibt) gut geeignet, dann kann man genaue Werte ermitteln. Hat man aber zB ein Spiel wo die FPS sich verändern können, so dauert es vielzu lange bis sich die Angabe eingependelt hat. Bei wenig FPS kann dies schon paar Minuten dauern. 3. Hat sich für mich 'eingebürgert' und liefert mir das 'von jedem etwas' was man für Spiele so braucht. Man kann eine absolute Genauigkeit erreichen, wenn man zB vor der Programmschleife ms zwischenspeichert und dann weitere kleine Veränderungen in den Zeilen vornimmt. Mir war es aber wichtig es nur an einer Codestelle zu haben um schnelles Copy&Paste durchführen zu können. |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
tft |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo....
ich selber beforzuge folgende Variante. FPS_C=FPS_C+1 if ms<Millisecs() ms=Millisecs()+1000 FPS=FPS_C FPS_C=0 endif Text 10,10,FPS Diese methode hat den Forteil das sie auch bei mer als 999 FPS funktioniert und die Anzeige nur jede Secunde wechselt. Gut mer als 300 FPS anzuzeigen wird ausser bei einer leerschleife kaum möglich sein. Aber wenn ich anfange etwas zu coden, binn ich immer über 1000 FPS. |
||
TFT
https://www.sourcemagic.ch Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!! |
![]() |
Tornado11 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Über 1000 FPs ,wusste gar nicht das es so hohe Raten schon gibt. ![]() |
||
![]() |
Lunatix |
![]() Antworten mit Zitat ![]() |
---|---|---|
haha....
Ja, wenn du anfängst. Sobald du dann aufgaben ausführst, gehn sie runter. btw: Code: [AUSKLAPPEN] Graphics3D 640,480,32,2 SetBuffer BackBuffer () Global FrameCount#,FPS#,FpsLast% Repeat UpDateFps(100) Text 0,0,FPS Flip Cls Until KeyHit(1) End Function UpDateFps(wait%=0) FrameCount=FrameCount+1 tm=MilliSecs() If ( tm > FpsLast+wait) Fps= ((FrameCount)/Float(tm-FpsLast))*1000.0 FpsLast=tm FrameCount=0 EndIf End Function bäh. diese syntax.... *mein blitzmax knuddel* |
||
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen... |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wenn du Rendern und Spiellogik trennst wirst du eigentlich ziemlich häufig auf mehr FPS kommen.
Meine Spiellogik läuft normalerweise auf 300'000 Loops pro Sekunde bis ich anfange sie zuzubomben. Bei sauberen 60 FPS fix. (mehr machen auf 60hz bildschirm 0 sinn) |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mal abgesehen davon, tft, kann man auch einfach floats benutzen.
Es gibt hier aber schon etwa 1000 dieser Programme im Codearchiv. Forensuche hilft da gern ![]() |
||
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group