wintimer.cpp
上传用户:center1979
上传日期:2022-07-26
资源大小:50633k
文件大小:1k
源码类别:

OpenGL

开发平台:

Visual C++

  1. // wintimer.h
  2. // 
  3. // Copyright (C) 2001, Chris Laurel <claurel@shatters.net>
  4. //
  5. // This program is free software; you can redistribute it and/or
  6. // modify it under the terms of the GNU General Public License
  7. // as published by the Free Software Foundation; either version 2
  8. // of the License, or (at your option) any later version.
  9. #include <windows.h>
  10. #include "timer.h"
  11. class WindowsTimer : public Timer
  12. {
  13. public:
  14.     WindowsTimer();
  15.     ~WindowsTimer();
  16.     double getTime() const;
  17.     void reset();
  18. private:
  19.     LARGE_INTEGER freq;
  20.     LARGE_INTEGER start;
  21. };
  22. WindowsTimer::WindowsTimer()
  23. {
  24.     QueryPerformanceFrequency(&freq);
  25.     reset();
  26. }
  27. WindowsTimer::~WindowsTimer()
  28. {
  29. }
  30. double WindowsTimer::getTime() const
  31. {
  32.     LARGE_INTEGER t;
  33.     QueryPerformanceCounter(&t);
  34.     return (double) (t.QuadPart - start.QuadPart) / (double) freq.QuadPart;
  35. }
  36. void WindowsTimer::reset()
  37. {
  38.     QueryPerformanceCounter(&start);
  39. }
  40. Timer* CreateTimer()
  41. {
  42.     return new WindowsTimer();
  43. }