aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/timer/Timer.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/timer/Timer.h')
-rw-r--r--tools/timer/Timer.h60
1 files changed, 5 insertions, 55 deletions
diff --git a/tools/timer/Timer.h b/tools/timer/Timer.h
index 9557596248..446eb254fd 100644
--- a/tools/timer/Timer.h
+++ b/tools/timer/Timer.h
@@ -7,68 +7,18 @@
#ifndef Timer_DEFINED
#define Timer_DEFINED
-#include "SkTypes.h"
#include "SkString.h"
+#include "SkTime.h"
+#include "SkTypes.h"
-#if defined(SK_BUILD_FOR_WIN32)
- #include "SysTimer_windows.h"
-#elif defined(SK_BUILD_FOR_MAC) || defined(SK_BUILD_FOR_IOS)
- #include "SysTimer_mach.h"
-#elif defined(SK_BUILD_FOR_UNIX) || defined(SK_BUILD_FOR_ANDROID)
- #include "SysTimer_posix.h"
-#endif
-
-#if SK_SUPPORT_GPU
- #include "GpuTimer.h"
-#endif
-
-class SkGLContext;
-
-/**
- * SysTimers and GpuTimers are implemented orthogonally.
- * This class combines 2 SysTimers and a GpuTimer into one single,
- * platform specific Timer with a simple interface. The truncated
- * timer doesn't include the time required for the GPU to finish
- * its rendering. It should always be <= the un-truncated system
- * times and (for GPU configurations) can be used to roughly (very
- * roughly) gauge the GPU load/backlog.
- */
-class Timer {
-public:
- explicit Timer(SkGLContext* gl = nullptr);
-
- void start();
- void truncatedEnd();
- void end();
-
- // All times in milliseconds.
- double fCpu;
- double fWall;
- double fTruncatedCpu;
- double fTruncatedWall;
- double fGpu;
-
-private:
- SysTimer fSysTimer;
- SysTimer fTruncatedSysTimer;
-#if SK_SUPPORT_GPU
- GpuTimer fGpuTimer;
-#endif
-};
-
-// Same as Timer above, supporting only fWall but with much lower overhead.
-// (Typically, ~30ns instead of Timer's ~1us.)
class WallTimer {
public:
- WallTimer();
+ WallTimer() : fWall(-1) {}
- void start();
- void end();
+ void start() { fWall = SkTime::GetNSecs(); }
+ void end() { fWall = (SkTime::GetNSecs() - fWall) * 1e-6; }
double fWall; // Milliseconds.
-
-private:
- SysTimer fSysTimer;
};
SkString HumanizeMs(double);