Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(85)

Side by Side Diff: bench/BenchTimer.h

Issue 344213003: Move BenchTimer to tools as Timer (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: fixes Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1
2 /*
3 * Copyright 2011 Google Inc.
4 *
5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file.
7 */
8 #ifndef SkBenchTimer_DEFINED
9 #define SkBenchTimer_DEFINED
10
11 #include <SkTypes.h>
12
13
14 class BenchSysTimer;
15 class BenchGpuTimer;
16
17 class SkGLContextHelper;
18
19 /**
20 * SysTimers and GpuTimers are implemented orthogonally.
21 * This class combines 2 SysTimers and a GpuTimer into one single,
22 * platform specific Timer with a simple interface. The truncated
23 * timer doesn't include the time required for the GPU to finish
24 * its rendering. It should always be <= the un-truncated system
25 * times and (for GPU configurations) can be used to roughly (very
26 * roughly) gauge the GPU load/backlog.
27 */
28 class BenchTimer {
29 public:
30 BenchTimer(SkGLContextHelper* gl = NULL);
31 ~BenchTimer();
32 void start(double durationScale = 1);
33 void end();
34 void truncatedEnd();
35 double fCpu;
36 double fWall;
37 double fTruncatedCpu;
38 double fTruncatedWall;
39 double fGpu;
40
41 private:
42 BenchSysTimer* fSysTimer;
43 BenchSysTimer* fTruncatedSysTimer;
44 #if SK_SUPPORT_GPU
45 BenchGpuTimer* fGpuTimer;
46 #endif
47 double fDurationScale; // for this start/end session
48 };
49
50 // Same as BenchTimer above, supporting only fWall but with much lower overhead.
51 // (Typically, ~30ns instead of BenchTimer's ~1us.)
52 class WallTimer {
53 public:
54 WallTimer();
55 ~WallTimer();
56
57 void start(double durationScale = 1);
58 void end();
59
60 double fWall;
61
62 private:
63 BenchSysTimer* fSysTimer;
64 double fDurationScale;
65 };
66
67 #endif
OLDNEW
« no previous file with comments | « bench/BenchSysTimer_windows.cpp ('k') | bench/BenchTimer.cpp » ('j') | tools/timer/GpuTimer.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698