diff options
author | mtklein <mtklein@google.com> | 2015-10-22 17:49:22 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-10-22 17:49:22 -0700 |
commit | 5a06df46864f010befaf8c57af1801fb43cbea86 (patch) | |
tree | 2076a03c9e01fe3146e64755f54684abd3ea9497 /tools/timer/Timer.cpp | |
parent | a1840d50e29fd95e4df2d1168fe54c34c2a5c30c (diff) |
Revert of SkTime::GetNSecs() (patchset #10 id:180001 of https://codereview.chromium.org/1422513003/ )
Reason for revert:
https://codereview.chromium.org/1412453006
Original issue's description:
> SkTime::GetNSecs()
>
> - Move high-precision wall timers from tools/timer to SkTime.
> - Implement SkTime::GetMSecs() in terms of SkTime::GetNSecs().
> - Delete unused tools/timer code.
>
> I have no idea what's going on there in src/animator.
> I don't intend to investigate.
>
> BUG=skia:
>
> Committed: https://skia.googlesource.com/skia/+/70084cbc16ee8162649f2601377feb6e49de0217
>
> CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-x86_64-Debug-CrOS_Link-Trybot
>
> Committed: https://skia.googlesource.com/skia/+/a1840d50e29fd95e4df2d1168fe54c34c2a5c30c
TBR=caryclark@google.com,reed@google.com,mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Review URL: https://codereview.chromium.org/1417753003
Diffstat (limited to 'tools/timer/Timer.cpp')
-rw-r--r-- | tools/timer/Timer.cpp | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/tools/timer/Timer.cpp b/tools/timer/Timer.cpp index 28841cdc84..b59988ca26 100644 --- a/tools/timer/Timer.cpp +++ b/tools/timer/Timer.cpp @@ -6,6 +6,52 @@ */ #include "Timer.h" +Timer::Timer(SkGLContext* gl) + : fCpu(-1.0) + , fWall(-1.0) + , fTruncatedCpu(-1.0) + , fTruncatedWall(-1.0) + , fGpu(-1.0) +#if SK_SUPPORT_GPU + , fGpuTimer(gl) +#endif + {} + +void Timer::start() { + fSysTimer.startWall(); + fTruncatedSysTimer.startWall(); +#if SK_SUPPORT_GPU + fGpuTimer.start(); +#endif + fSysTimer.startCpu(); + fTruncatedSysTimer.startCpu(); +} + +void Timer::end() { + fCpu = fSysTimer.endCpu(); +#if SK_SUPPORT_GPU + //It is important to stop the cpu clocks first, + //as the following will cpu wait for the gpu to finish. + fGpu = fGpuTimer.end(); +#endif + fWall = fSysTimer.endWall(); +} + +void Timer::truncatedEnd() { + fTruncatedCpu = fTruncatedSysTimer.endCpu(); + fTruncatedWall = fTruncatedSysTimer.endWall(); +} + +WallTimer::WallTimer() : fWall(-1.0) {} + +void WallTimer::start() { + fSysTimer.startWall(); +} + +void WallTimer::end() { + fWall = fSysTimer.endWall(); +} + SkString HumanizeMs(double ms) { if (ms > 60e+3) return SkStringPrintf("%.3gm", ms/60e+3); if (ms > 1e+3) return SkStringPrintf("%.3gs", ms/1e+3); |