PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie am besten fps counter implementieren


Wanginator
2008-03-07, 03:06:03
Hallo,

möchte für ein Java Programm die fps anzeigen lassen. Wie erstellt man am geschicktesten einen fps Counter. Naive Idee wäre ja frame für frame einen Zähler hochzuzählen und jede Sekunde die Anzahl auszugeben. Aber dann kann man nur jede Sekunde einen Update haben. Das geht doch bestimmt schicker, oder?

Coda
2008-03-07, 04:07:04
Frametimes der letzten n Frames messen, mitteln und dann 1s/frametime = FPS.

Trap
2008-03-07, 11:32:40
Wenn man SLI/CF Nutzer ärgern will, nimmt man von den letzten 2 Frames immer den längeren für die FPS-anzeige ;)

rotalever
2008-03-07, 14:18:55
Man kann auch unterschiedliche Werte anzeigen, z.B. hochgerechnet aus einem Frame, aus 10 frames, aus allen frames der letzen minute.

Gnafoo
2008-03-07, 16:40:05
Naja muss ja nicht eine Sekunde sein. Das einfachste ist wohl: einfach einen Zähler für ein gewisses Zeit-Intervall hochzählen lassen. Ist das Intervall abgelaufen kann man ja extrapolieren. Wenn du z. B. alle 250ms aktualisierst, dann musst du das Ergebnis am Ende eben mit 4 multiplizieren.

Je kleiner das Intervall, desto kleiner ist natürlich auch die Genauigkeit. Ansonsten klingt Codas Variante auch nicht schlecht.

rotalever
2008-03-07, 16:42:41
Je kleiner das Intervall, desto kleiner ist natürlich auch die Genauigkeit. Ansonsten klingt Codas Variante auch nicht schlecht.
Kommt halt darauf an, was man unter Genauigkeit in diesem Fall versteht. Wenn man die Zeit sehr lang macht, hat man halt nur noch einen Mittelwert. Da ist es vll. am besten man macht ein min/max/average Konzept mit drei Werten, das ist meiner Meinung nach am Aussagekräftigsten, da es alles wichtige enthält.