ZFX
ZFX Neu
Home
Community
Neueste Posts
Chat
FAQ
IOTW
Tutorials
Bücher
zfxCON
ZFXCE
Mathlib
ASSIMP
NES
Wir über uns
Impressum
Regeln
Suchen
Mitgliederliste
Membername:
Passwort:
Besucher:
4420808
Jetzt (Chat):
34 (0)
Mitglieder:
5239
Themen:
24223
Nachrichten:
234554
Neuestes Mitglied:
-insane-

FAQ - Frequently Asked Questions - Spiele-Programmierung


Wie erstellt man einen FPS Counter?

Der PerformanceCounter läuft normalerweise mit 3,19MHz. Die genaue Frequenz (also die Zahl, um die sich der Counter in einer Sekunde erhöht) bekommst Du mit QueryPerformanceFrequency:

Code:
LONGLONG freq;
LONGLONG lastFrame;
LONGLONG CurrentFrame;

QueryPerformanceFrequency((LARGE_INTEGER*)&freq);

QueryPerformanceCounter((LARGE_INTEGER*)&lastFrame);


Um jetzt die Framerate berechnen zu können, braucht man die Zeit, die zwischen dem letzten und dem aktuellen Frame vergangen ist. Deswegen muss man erstmal bei jedem Frame den Counter abfragen:

Code:
LONGLONG elapsed;
double FPS;

QueryPerformanceCounter((LARGE_INTEGER*)&CurrentFrame);
elapsed = CurrentFrame - lastFrame;
FPS = (double)((double)freq / (double)elapsed);

lastFrame = CurrentFrame;