// | |
// Copyright 2019 The ANGLE Project Authors. All rights reserved. | |
// Use of this source code is governed by a BSD-style license that can be | |
// found in the LICENSE file. | |
// | |
// Timer.cpp: Implementation of a high precision timer class. | |
// | |
#include "util/Timer.h" | |
#include "common/system_utils.h" | |
Timer::Timer() : mRunning(false), mStartTime(0), mStopTime(0) {} | |
void Timer::start() | |
{ | |
mStartTime = angle::GetCurrentTime(); | |
mRunning = true; | |
} | |
void Timer::stop() | |
{ | |
mStopTime = angle::GetCurrentTime(); | |
mRunning = false; | |
} | |
double Timer::getElapsedTime() const | |
{ | |
double endTime; | |
if (mRunning) | |
{ | |
endTime = angle::GetCurrentTime(); | |
} | |
else | |
{ | |
endTime = mStopTime; | |
} | |
return endTime - mStartTime; | |
} |