루리코딩 세상

Time 관련 본문

이론/DirectX

Time 관련

루리딩 2025. 6. 2. 18:14
DeltaTime 프레임 간 시간 간격  
RunningTime 현재 시간  
public:
	float GetDeltaTime() {return DeltaTime;}
    float GetRunningTime() {return RunningTime;}



private:

system_clock : OS Clock
Steady_clock : CPU Clock

Steady_clock::time_point StartTime;
Steady_clock::time_point PrevFrameTime;

float DeltaTime = 0.0f;
float RunningTime = 0.0f

///////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////

Timer.cpp

void CTimer::Tick()
{
	steady_clock::time_point current = steady_clock::now();
        
    duration<float, milli> temp = current - PrevFrameTime;
    DeltaTime = temp.count();
    PrevFrameTime = current;
    
    duration<float> temp2 = current - StartTime;
    RunningTime = temp2.count();
}

////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////

ImGui::LabelText("Running", "%f", CTimer::Get()->GetRunningTime());
ImGui::LabelText("Delta", "%f", CTimer::Get()->GetDeltaTime());
ImGui::LabalText("FPS", "%f", ImGui::GetIO().Framerate);