#pragma once #include <windows.h> namespace CELL { class CELLTimestamp { public: CELLTimestamp() { QueryPerformanceFrequency(&_frequency); QueryPerformanceCounter(&_startCount); } ~CELLTimestamp() {} void update() { QueryPerformanceCounter(&_startCount); } /** * »ñÈ¡µ±Ç°Ãë */ double getElapsedSecond() { return getElapsedTimeInMicroSec() * 0.000001; } /** * »ñÈ¡ºÁÃë */ double getElapsedTimeInMilliSec() { return this->getElapsedTimeInMicroSec() * 0.001; } /** * »ñȡ΢Ãî */ double getElapsedTimeInMicroSec() { LARGE_INTEGER endCount; QueryPerformanceCounter(&endCount); double startTimeInMicroSec = _startCount.QuadPart * (1000000.0 / _frequency.QuadPart); double endTimeInMicroSec = endCount.QuadPart * (1000000.0 / _frequency.QuadPart); return endTimeInMicroSec - startTimeInMicroSec; } protected: LARGE_INTEGER _frequency; LARGE_INTEGER _startCount; }; }