fps는 실시간으로 달라질 수 있는데
틱은 고정된 시간간격을 가짐
이유는 물리연산이나 클라서버간 동기화를 위해
어떻게 성능도 다르고, 다른 프로세스 때문에 cpu가 느랴질 수 있는데 틱은 고정간격인 이유는
만약에 느려지면 느려진만큼 틱 계산? 함수호출? 을 하기 때문임.
예를 들어, 1 fps이고, 틱이20ms라 할때
즉
1번 프레임때 틱이 50이라고 할때
2번 프레임 때는 100틱에 대한 연산을 그려줘야함
근데 cpu가 느려져서 3번 프레임 가는데 2초가 걸림
그럼 틱은 내부적으로 연산을 더 해가지고 3번째 프레임때 150틱이 아니라 200틱임
이거 맞음?
틱은 고정된 시간간격을 가짐
이유는 물리연산이나 클라서버간 동기화를 위해
어떻게 성능도 다르고, 다른 프로세스 때문에 cpu가 느랴질 수 있는데 틱은 고정간격인 이유는
만약에 느려지면 느려진만큼 틱 계산? 함수호출? 을 하기 때문임.
예를 들어, 1 fps이고, 틱이20ms라 할때
즉
1번 프레임때 틱이 50이라고 할때
2번 프레임 때는 100틱에 대한 연산을 그려줘야함
근데 cpu가 느려져서 3번 프레임 가는데 2초가 걸림
그럼 틱은 내부적으로 연산을 더 해가지고 3번째 프레임때 150틱이 아니라 200틱임
이거 맞음?
델타타임 말하는거 같은데 한번 찾아봐봐 - dc App
틱이란 말은 상황에 따라 엄청 다르게 쓰여서 뭔소린지 모르겠네
니가 말하는 틱이 뭔데. 그냥 게임 루프 한번이 1틱임. 네 말대로 각 틱간의 시간은 고정될 수 없기 때문에 인자로 이전 틱과 지금틱까지의 지나간 시간을 인자로 넣어줌(deltaTime) 로직에서 그 변화량을 이용해서 적용해야함
응 아잇
걍 게임 루프 한번이 틱임 ㅇㅇ 보통 게임이 1/60초마다 한번 틱이 진행되는데 당근 빳다로 1/60초마다 정확하게 시간이 진행되는 컴퓨터가 세상에 어딨음 컴 성능이 구려서 틱이 1/20초 마다 실행될 수도 있는거고 컴 성능이 1/144초마다 실행될수도 있는거임 그래서 움직임 같은거 구현할때 * deltaTime하는것도 그 이유고