Programming/C, C++, MFC

[Function] dialog 에 FPS 표시하기

매직블럭 2013. 4. 2. 19:22

1초마다 fps 가 갱신되게 할것인지 매 프레임마다 갱신되게 할 것인지는

if문을 약간만 바꾸면 가능하다

 

//헤더파일에 선언되어야 할 멤버변수

DWORD m_dwFrames;
DWORD m_dwCurrentTime;
DWORD m_dwLastUpdateTime;
DWORD m_dwElapsedTime;
DWORD m_dwSpeechTime;
TCHAR m_szFPS[32];

 

 

//cpp파일에서 실행할 부분
m_dwCurrentTime = GetTickCount(); // Even better to use timeGetTime()
m_dwElapsedTime = m_dwCurrentTime - m_dwLastUpdateTime;
m_dwFrames++;

if(m_dwElapsedTime >= 1000){
 wsprintf(m_szFPS, _T("FPS = %u"), (UINT)(m_dwFrames * 1000.0 / m_dwElapsedTime));
 m_dwFrames = 0;
 m_dwLastUpdateTime = m_dwCurrentTime;
}
  
m_ctrlFps.SetWindowTextA(m_szFPS);
UpdateData(FALSE);