DM+VB: WallTimer -> SkTime::GetNSecs().
The same timer with a simpler interface.
BUG=skia:
Review URL: https://codereview.chromium.org/1427033003
diff --git a/tools/VisualBench/TimingStateMachine.cpp b/tools/VisualBench/TimingStateMachine.cpp
index 85aab42..4dfa3f5 100644
--- a/tools/VisualBench/TimingStateMachine.cpp
+++ b/tools/VisualBench/TimingStateMachine.cpp
@@ -14,6 +14,8 @@
DEFINE_int32(frames, 5, "Number of frames of each skp to render per sample.");
DEFINE_double(loopMs, 5, "Each benchmark will be tuned until it takes loopsMs millseconds.");
+static double now_ms() { return SkTime::GetNSecs() * 1e-6; }
+
TimingStateMachine::TimingStateMachine()
: fCurrentFrame(0)
, fLoops(1)
@@ -28,7 +30,7 @@
case kPreWarm_State: {
if (fCurrentFrame >= FLAGS_gpuFrameLag) {
fCurrentFrame = 0;
- fTimer.start();
+ fStartTime = now_ms();
fState = kTiming_State;
} else {
fCurrentFrame++;
@@ -63,7 +65,7 @@
if (preWarmBetweenSamples) {
fState = kPreWarm_State;
} else {
- fTimer.start(); // start timing again, don't change state
+ fStartTime = now_ms();
}
} else {
fCurrentFrame++;
@@ -78,13 +80,11 @@
}
inline double TimingStateMachine::elapsed() {
- fTimer.end();
- return fTimer.fWall;
+ return now_ms() - fStartTime;
}
void TimingStateMachine::resetTimingState() {
fCurrentFrame = 0;
- fTimer = WallTimer();
}
void TimingStateMachine::recordMeasurement() {
diff --git a/tools/VisualBench/TimingStateMachine.h b/tools/VisualBench/TimingStateMachine.h
index 3f40b6d..322c333 100644
--- a/tools/VisualBench/TimingStateMachine.h
+++ b/tools/VisualBench/TimingStateMachine.h
@@ -67,7 +67,7 @@
int fCurrentFrame;
int fLoops;
double fLastMeasurement;
- WallTimer fTimer;
+ double fStartTime;
State fState;
InnerState fInnerState;
};