diff options
Diffstat (limited to 'src/FPS.cxx')
-rw-r--r-- | src/FPS.cxx | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/FPS.cxx b/src/FPS.cxx new file mode 100644 index 0000000..3c0dd54 --- /dev/null +++ b/src/FPS.cxx @@ -0,0 +1,43 @@ +namespace PluggIt { + +class FPS +{ + private int frames; + private char str[20]; + + private Clock clock; + + + public FPS() { + Reset(); + } + + public void Reset() { + frames = 0; + str[0] = 0; + + clock.Reset(); + } + + public void Count( float interval ) { + float time = clock.GetTime(); + + frames++; + + if (time >= interval) { + float fps = frames / time; + + snprintf( str, sizeof(str), "%.1f", fps ); + + frames = 0; + clock.Reset(); + } + } + + public const char *GetFPS() { + return str; + } +}; + +} + |