| Index: tools/timer/Timer.h
|
| diff --git a/tools/timer/Timer.h b/tools/timer/Timer.h
|
| index 9557596248c7e8790df63d72f41efb3ec3a6dcb8..446eb254fd10637a5da944d546cb866309020b57 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);
|
|
|