| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * Copyright 2011 Google Inc. | 2  * Copyright 2011 Google Inc. | 
| 3  * | 3  * | 
| 4  * Use of this source code is governed by a BSD-style license that can be | 4  * Use of this source code is governed by a BSD-style license that can be | 
| 5  * found in the LICENSE file. | 5  * found in the LICENSE file. | 
| 6  */ | 6  */ | 
| 7 #include "Timer.h" | 7 #include "Timer.h" | 
| 8 | 8 | 
|  | 9 Timer::Timer(SkGLContext* gl) | 
|  | 10         : fCpu(-1.0) | 
|  | 11         , fWall(-1.0) | 
|  | 12         , fTruncatedCpu(-1.0) | 
|  | 13         , fTruncatedWall(-1.0) | 
|  | 14         , fGpu(-1.0) | 
|  | 15 #if SK_SUPPORT_GPU | 
|  | 16         , fGpuTimer(gl) | 
|  | 17 #endif | 
|  | 18         {} | 
|  | 19 | 
|  | 20 void Timer::start() { | 
|  | 21     fSysTimer.startWall(); | 
|  | 22     fTruncatedSysTimer.startWall(); | 
|  | 23 #if SK_SUPPORT_GPU | 
|  | 24     fGpuTimer.start(); | 
|  | 25 #endif | 
|  | 26     fSysTimer.startCpu(); | 
|  | 27     fTruncatedSysTimer.startCpu(); | 
|  | 28 } | 
|  | 29 | 
|  | 30 void Timer::end() { | 
|  | 31     fCpu = fSysTimer.endCpu(); | 
|  | 32 #if SK_SUPPORT_GPU | 
|  | 33     //It is important to stop the cpu clocks first, | 
|  | 34     //as the following will cpu wait for the gpu to finish. | 
|  | 35     fGpu = fGpuTimer.end(); | 
|  | 36 #endif | 
|  | 37     fWall = fSysTimer.endWall(); | 
|  | 38 } | 
|  | 39 | 
|  | 40 void Timer::truncatedEnd() { | 
|  | 41     fTruncatedCpu = fTruncatedSysTimer.endCpu(); | 
|  | 42     fTruncatedWall = fTruncatedSysTimer.endWall(); | 
|  | 43 } | 
|  | 44 | 
|  | 45 WallTimer::WallTimer() : fWall(-1.0) {} | 
|  | 46 | 
|  | 47 void WallTimer::start() { | 
|  | 48     fSysTimer.startWall(); | 
|  | 49 } | 
|  | 50 | 
|  | 51 void WallTimer::end() { | 
|  | 52     fWall = fSysTimer.endWall(); | 
|  | 53 } | 
|  | 54 | 
| 9 SkString HumanizeMs(double ms) { | 55 SkString HumanizeMs(double ms) { | 
| 10     if (ms > 60e+3)  return SkStringPrintf("%.3gm", ms/60e+3); | 56     if (ms > 60e+3)  return SkStringPrintf("%.3gm", ms/60e+3); | 
| 11     if (ms >  1e+3)  return SkStringPrintf("%.3gs",  ms/1e+3); | 57     if (ms >  1e+3)  return SkStringPrintf("%.3gs",  ms/1e+3); | 
| 12     if (ms <  1e-3)  return SkStringPrintf("%.3gns", ms*1e+6); | 58     if (ms <  1e-3)  return SkStringPrintf("%.3gns", ms*1e+6); | 
| 13 #ifdef SK_BUILD_FOR_WIN | 59 #ifdef SK_BUILD_FOR_WIN | 
| 14     if (ms < 1)      return SkStringPrintf("%.3gus", ms*1e+3); | 60     if (ms < 1)      return SkStringPrintf("%.3gus", ms*1e+3); | 
| 15 #else | 61 #else | 
| 16     if (ms < 1)      return SkStringPrintf("%.3gµs", ms*1e+3); | 62     if (ms < 1)      return SkStringPrintf("%.3gµs", ms*1e+3); | 
| 17 #endif | 63 #endif | 
| 18     return SkStringPrintf("%.3gms", ms); | 64     return SkStringPrintf("%.3gms", ms); | 
| 19 } | 65 } | 
| OLD | NEW | 
|---|