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

OpenGL

开发平台:

Visual C++

  1. // unixtimer.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 <sys/time.h>
  10. #include <unistd.h>
  11. #include "timer.h"
  12. class UnixTimer : public Timer
  13. {
  14. public:
  15.     UnixTimer();
  16.     ~UnixTimer();
  17.     double getTime() const;
  18.     void reset();
  19. private:
  20.     double start;
  21. };
  22. UnixTimer::UnixTimer()
  23. {
  24.     reset();
  25. }
  26. UnixTimer::~UnixTimer()
  27. {
  28. }
  29. double UnixTimer::getTime() const
  30. {
  31.     struct timeval t;
  32.     gettimeofday(&t, NULL);
  33.     return (double) t.tv_sec + (double) t.tv_usec / 1000000.0 - start;
  34. }
  35. void UnixTimer::reset()
  36. {
  37.     struct timeval t;
  38.     gettimeofday(&t, NULL);
  39.     start = (double) t.tv_sec + (double) t.tv_usec / 1000000.0;
  40. }
  41. Timer* CreateTimer()
  42. {
  43.     return new UnixTimer();
  44. }