aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools
diff options
context:
space:
mode:
authorGravatar mtklein <mtklein@chromium.org>2015-11-03 06:54:24 -0800
committerGravatar Commit bot <commit-bot@chromium.org>2015-11-03 06:54:24 -0800
commitf27f08b76d3c99bbca8b56a38faddbb58239c94c (patch)
tree820e497a66b8c3450438582a2378dd17639cc88f /tools
parent48343eea6f40a523306069e917ed9a1d6c39434c (diff)
DM+VB: WallTimer -> SkTime::GetNSecs().
The same timer with a simpler interface. BUG=skia: Review URL: https://codereview.chromium.org/1427033003
Diffstat (limited to 'tools')
-rw-r--r--tools/VisualBench/TimingStateMachine.cpp10
-rw-r--r--tools/VisualBench/TimingStateMachine.h2
2 files changed, 6 insertions, 6 deletions
diff --git a/tools/VisualBench/TimingStateMachine.cpp b/tools/VisualBench/TimingStateMachine.cpp
index 85aab42ba9..4dfa3f5755 100644
--- a/tools/VisualBench/TimingStateMachine.cpp
+++ b/tools/VisualBench/TimingStateMachine.cpp
@@ -14,6 +14,8 @@ DEFINE_int32(gpuFrameLag, 5, "Overestimate of maximum number of frames GPU is al
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 @@ TimingStateMachine::ParentEvents TimingStateMachine::nextFrame(bool preWarmBetwe
case kPreWarm_State: {
if (fCurrentFrame >= FLAGS_gpuFrameLag) {
fCurrentFrame = 0;
- fTimer.start();
+ fStartTime = now_ms();
fState = kTiming_State;
} else {
fCurrentFrame++;
@@ -63,7 +65,7 @@ TimingStateMachine::ParentEvents TimingStateMachine::nextFrame(bool preWarmBetwe
if (preWarmBetweenSamples) {
fState = kPreWarm_State;
} else {
- fTimer.start(); // start timing again, don't change state
+ fStartTime = now_ms();
}
} else {
fCurrentFrame++;
@@ -78,13 +80,11 @@ TimingStateMachine::ParentEvents TimingStateMachine::nextFrame(bool preWarmBetwe
}
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 3f40b6d31f..322c333f03 100644
--- a/tools/VisualBench/TimingStateMachine.h
+++ b/tools/VisualBench/TimingStateMachine.h
@@ -67,7 +67,7 @@ private:
int fCurrentFrame;
int fLoops;
double fLastMeasurement;
- WallTimer fTimer;
+ double fStartTime;
State fState;
InnerState fInnerState;
};