| * Copyright 2011 Google Inc. |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| #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" |
| * 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. |
| explicit Timer(SkGLContextHelper* gl = NULL); |
| // All times in milliseconds. |
| SysTimer fTruncatedSysTimer; |
| // Same as Timer above, supporting only fWall but with much lower overhead. |
| // (Typically, ~30ns instead of Timer's ~1us.) |
| double fWall; // Milliseconds. |