1 #include <mof/util/multimedia_timer.hpp>
11 struct multimedia_timer::impl
13 LARGE_INTEGER start_time_;
18 multimedia_timer::multimedia_timer()
21 LARGE_INTEGER frequency;// count per sec
22 QueryPerformanceFrequency(&frequency);
23 pimpl_->frequency_ = static_cast<double>(frequency.QuadPart) / 1000000;// count per micro sec
28 multimedia_timer::~multimedia_timer(){}
31 void multimedia_timer::reset()
33 QueryPerformanceCounter(&pimpl_->start_time_);
36 //{{{ get_time_in_micro_sec
37 mof::uint64 multimedia_timer::get_time_in_micro_sec() const
39 LARGE_INTEGER current_time;
40 QueryPerformanceCounter(¤t_time);
41 double span = static_cast<double>(current_time.QuadPart - pimpl_->start_time_.QuadPart) / pimpl_->frequency_;
42 return static_cast<int>(span);