자, 이것은 매우 초보자 수준의 질문이지만 이것을 알아야합니다. 게임 개발의 맥락에서 "틱"이라는 용어는 무엇을 의미합니까? FPS와 같은 것입니까? 감사!
자, 이것은 매우 초보자 수준의 질문이지만 이것을 알아야합니다. 게임 개발의 맥락에서 "틱"이라는 용어는 무엇을 의미합니까? FPS와 같은 것입니까? 감사!
답변:
진드기는 시간 측정 단위이며, 구체적으로 게임에서 반복되는 동작 (일반적으로 광범위한 동작)의 단일 인스턴스 또는 동작이 소비하는 기간을 나타냅니다.
진드기는 반복되며 (주로) 규칙적입니다. 이 용어는 시계가 만드는 소리 ( "틱"및 "토크") 중 하나에서 비롯됩니다.
일반적으로 틱은 메인 게임 로직 루프와 같은 일부 루프의 반복입니다. 예를 들어, 게임 로직이 한 번 프레임에 "틱"하거나 "틱 중에 문자 위치가 업데이트된다"고 말할 수 있습니다.
그러나 더 세분화 된 기간을 나타낼 수도 있습니다. "게임의 AI 틱은 5ms의 처리 시간으로 제한됩니다."라고 말할 수 있습니다.
FPS는 게임이 몇 초 안에 몇 개의 프레임 (일반적으로 렌더 프레임)을 처리 하는지를 측정 한 것입니다. 진드기와 FPS는 반드시 관련이있는 것은 아니지만, 때때로 사람들은 게임 로직 루프의 단일 실행을 "논리 프레임"이라고 부르는데,이 경우 (논리) FPS 속도는 초당 처리 된 진드기 수입니다. 이것은 어떤 이유로 든 게임 로직 또는 물리에 대해 고정 프레임 속도를 적용하는 게임에 특히 일반적입니다.
대부분의 게임은 루프로 구현됩니다. 같은 것
def main
setup(a, bunch, of, stuff)
load(a, bunch, of, stuff)
while true do {
// <- A tick starts here
read(a, bunch, of, inputs)
call(a, bunch, of, stuff)
do(a, bunch, of, stuff)
update(a, bunch, of, stuff)
// <- A tick ends here
}
clean(a, bunch, of, stuff)
save(a, bunch, of, stuff)
end
작업을 수행하는 매우 표준적인 방법이며 렌더링 및 UI 요소는 별도의 스레드에서 처리 될 수 있지만 실제 게임 논리 (프레스 키를 눌러 우주선을 앞으로 이동)는이 틱 안에서 발생합니다.
이것을 "프레임"이라고도하며 일반적으로 프레임 속도 (그래픽과 혼동하지 말 것)라고합니다. 틱은 두 가지를 구별하는 데 도움이되는 인기있는 동의어가되었습니다.
프로그래머로서 당신의 목표는 무엇이든지 일정하고 안정적인 프레임 (틱) 속도를 유지하는 것입니다. 이를 통해 게임의 반응을 부드럽고 합리적으로 유지하면서 동시에 모델 (그래픽이 아닌 프로그래밍)이 컴퓨터 친화적 인 방식으로 물건을 처리 할 수 있습니다. 틱 시간은 게임 전체에서 일정하지 않으며 매직 넘버가 없습니다. 일부 게임은 초당 100 프레임이고 다른 게임은 3 초마다 1 틱입니다.
틱은 일반적으로 모든 논리가 계산되는 게임 루프의 한 번의 반복을 의미하므로 게임에는 일반적으로 초당 여러 틱이 있습니다.
그러나 많은 게임이 같은 스레드에서 그래픽과 게임 루프를 모두 실행하기 때문에 일반적으로 그래픽을 표시하는 데 시간이 오래 걸리지 않기 때문에 로직이 중단되거나 그 반대의 경우도 있습니다 (개발자가 이와 같은 상황을 확인하는 경우에도 마찬가지 임) 마지막 프레임과 현재 프레임 간의 시간 차이를 고려하여 그에 따른 이동 속도 조정).
FPS는 의미 F는 rames P의 어 S 많은 게임 그래서 econd을, 네, 기술적으로 말하면, 각각의 프레임은 하나의 틱입니다.
physics engine update frame
캐주얼 플레이어가 기억하거나 이해하기에는 너무 길기 때문에 어떤 사람들은 그것을 진드기라고 부릅니다 .