프레임 관리

이승한·2023년 7월 15일
0

CSharp

목록 보기
13/25

프레임 관리를 코드를 통해 알아보자.

  1. 마지막 시간을 측정하여 저장하는 변수 lastTick
  2. 현재시간을 측정하는 변수 currentTick
  3. 30FPS (1/30초) 이하면 continue로 다음 입력,로직,렌더링 실행
class Program
{
	
	static void Main(string[] args)
    {
    	int lastTick =0;
        const int WAIT_TICK =1000 / 30;
        
    	while(true)
        {
        	#region 프레임관리
            int currentTick = System.Environment.TickCount;
            if(currentTick- lastTick < WAIT_TICK)
            	continue;
            lastTick = currentTick;
            #endregion
            
            //입력
            
            //로직
            
            //렌더링
        }
    }
}

if문에서 currentTick - lastTick 의 시간이 ms단위 이기때문에 WAIT_TICK의 1000/30이 곧 1/30 이다.

0개의 댓글