게임에서 FPS 구현 질문입니다

조회수 1140회
void Timer::Delay()
{
    if (m_fDeltaTime >= m_fSPF)
        return;

    long delay = (long)((m_fSPF - m_fDeltaTime) * 1000);

    Sleep(delay);
}

m_fDeltaTime : 프레임당 걸린 시간

m_fSPF : 설정한 한계프레임(FPSMax) 에 따라 (1 / FPSMax) 계산을 통해 구한 수학적으로 프레임당 걸리는 시간 (Second Per Frame)

delay : 수학적으로 프레임당 걸리는 시간 - 프레임당 걸린 시간

Sleep(DWORD dwMilliseoncd) : (1초 : 1000) 만큼 프로그램 실행을 중지

////

한계 프레임을 60으로 잡고 실행시켰는데 FPS 가 60이아닌 110쯤이 나옵니다..

위 계산에 틀린게있나요?

  • (•́ ✖ •̀)
    알 수 없는 사용자
  • m_fSPF랑 m_fDeltaTime은 단위가 sec로 동일한가요? 혹시 하나는 ms거나 그러진 않나요?? 음... 아니면 혹시 FPS 계산해줄 떄 그부분에서 에러가 있는 건 아닐까요?? 알 수 없는 사용자 2018.7.19 16:37

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)