델타 타이밍
Delta timing델타 시간 또는 델타 타이밍은 하드웨어 및 네트워크 응답성과 관련하여 프로그래머들 사이에서 사용되는 개념이다.[1]그래픽 프로그래밍에서 이 용어는 일반적으로 게임이 마지막으로 업데이트한 이후 경과된 시간,[2] 즉 컴퓨터의 속도에 따라 달라지는 이전 "프레임"을 기반으로 변동적으로 풍경을 업데이트하는 데 사용되며, 주어진 시간에 프로그램에서 얼마나 많은 작업을 수행해야 하는지에 따라 달라진다.이것은 또한 그래픽이 다중 스레딩되는 경우 그래픽을 별도로 계산할 수 있게 한다.
네트워크 프로그래밍에서, 인터넷 연결의 예측할 수 없는 성질 때문에, 델타 타이밍은 이동 정보의 다음 데이터 패킷을 수신하는 데 걸리는 시간에 관계없이, 컴퓨터 네트워크를 통해 수신되는 이동 정보를 가변적으로 업데이트하는 것과 유사한 방법으로 사용된다.[3]
현재와 마지막 통화 사이의 시간을 밀리초 단위로 유지하는 초당 프레임마다 타이머를 호출하는 방식으로 수행된다.[1]그 후에 결과 번호(Delta Time)는 예를 들어 비디오 게임 캐릭터가 그 시간 동안 얼마나 멀리 이동했는지를 계산하는 데 사용된다.이로 인해 캐릭터가 업데이트 속도에 관계없이 화면을 가로질러 이동하는 데 동일한 양의 실제 시간이 소요되며, 처리 능력이 부족하거나 인터넷 연결이 느려서 지연되는지 여부를 알 수 있다.
그래픽 프로그래밍에서, 이것은 주어진 시간에 일어나는 일의 복잡성에 따라 게임 플레이가 느려지거나 빨라지는 것을 방지하며, 이것은 일관되지 않고 거슬리는 경험을 만든다. (예를 들어, 더 많은 캐릭터가 스크린으로 걸어가는 것을 느리게 하거나, 한 캐릭터만 화면에 있기 때문에 너무 빨리 달리는 것을 느리게 한다.)네트워크 프로그래밍에서, 이것은 각 클라이언트가 다른 클라이언트보다 마지막 업데이트 이후 더 많은 시간이 경과했더라도, 각 클라이언트가 결국 같은 활동을 동시에 볼 수 있도록 함으로써 각 컴퓨터의 게임 세계를 다른 컴퓨터와 동기화되도록 한다.
충분히 큰 지연은 결국 게임 플레이 경험에 부정적인 영향을 미치겠지만, 델타 타임의 사용은 컴퓨터와 인터넷 연결이 게임의 최소 하드웨어 요구 조건을 충족시키는 한 게임 플레이를 일관적으로 유지한다.
델타 타이밍은 모터스포츠에서도 사용된다.모터스포츠에서 델타 타이밍을 사용하면 운전자들이 얼마나 많은 시간을 벌었는지를 알 수 있다.
델타 시간 및 프레임률
델타 시간과 프레임률이 항상 관련이 있는 것은 아니다.비디오 게임은 프레임률에 관한 두 가지 범주 중 하나로 분류된다: 프레임률 의존적 또는 프레임률 독립적.프레임률 종속 게임은 소프트웨어를 실행하는 컴퓨터에 따라 프레임률이 달라진다.예를 들어, 프레임률 의존 게임이 120헤르츠(Hz)의 재생률을 가진 컴퓨터에서 초당 300프레임(fps)으로 실행된다면, 60Hz의 재생률을 가진 컴퓨터에서 150fps로 실행될 것이다.표준 델타 시간 표현은 프레임률에 의존하는 게임에서 일시 중지 화면과 의도적인 슬로우 모션 효과를 생성할 수 있다.표준 델타 시간 공식은 프레임 간 델타 시간이 실행 중인 컴퓨터의 새로 고침 속도에 따라 크게 달라지기 때문에 표준 게임 플레이에 거의 사용되지 않는다.게임이 프레임률에 독립적인 경우 프레임률은 사전 설정되며 사양에 관계없이 모든 컴퓨터에 동일하게 실행된다.프레임률 독립성은 게임을 더 많은 소비자들이 이용할 수 있도록 최대 그래픽 품질을 제한한다.프레임률 독립성은 특히 크롬북 등 보급형 컴퓨터에 최적화된 모바일 게임과 게임에서 인기가 높다.프레임률 독립 게임에서는 프레임 간 델타 시간이 게임 전체에서 일치한다.이 표준화는 하나의 델타 시간 식이 모든 유형의 컴퓨터에 있는 모든 사용자에 대해 일관된 프레임률을 생성할 수 있다는 것을 의미한다.[4]
델타 시간 사용 시기
델타 타이밍은 게임 프레임률이 하드웨어와 독립적일 필요가 있을 때 언제든지 탁월할 수 있다.이것의 한 예는 모바일 기기나 보급형 컴퓨터에서 실행해야 하는 게임일 수 있다.비디오 게임 개발자들은 델타타이밍을 사용하여 화면에 있는 물체의 이동 속도를 표준화하기도 한다.예를 들어, 문자가 일정한 속도로 화면을 가로지르는 경우 델타 시간 지정은 이 이동 속도가 일정하고 변동하지 않도록 보장할 수 있다.델타타이밍을 이동에 사용하는 것은 일관성이 없는 인터넷이나 보급형 컴퓨터 하드웨어를 보유한 사용자에게 특히 유용하다.이 방법은 또한 화면상의 물체의 움직임을 조절할 수 있다.델타타이밍을 동작에 사용하는 것의 한 가지 단점은 동작과 동작 속도가 매우 다양한 게임에서는 복잡할 수 있다는 것이다.예를 들어, 게임은 모든 등장인물에 대해 지정된 보행 속도와 단거리 달리기 속도를 가질 수 있지만, 등장인물은 자동차, 보트, 비행기 및 기타 차량을 운전할 수도 있다.개발자가 이러한 각각의 이동 속도가 다르기를 원한다면(가능한 한 게임을 현실화하기 위해), 각 이동 속도에 대해 별도의 델타 시간 표현이 필요할 것이다(이러한 이동이 일정한 속도로 발생한다고 가정할 따름).일정한 비율로 이동이 발생하지 않으면 델타 시간 지정 표현식은 효과적이지 않게 된다.[5]
참고 항목
참조
- ^ a b "Game Making Software - Construct 3 ★★★★★".
- ^ "Time-based Animation with HTML 5 Canvas and JavaScript Viget".
- ^ Cook, Shane (2012-12-28). CUDA Programming: A Developer's Guide to Parallel Computing with GPUs. Newnes. ISBN 978-0-12-415988-4.
- ^ Ashley (2017-09-26). "Delta-Time and Framerate Independence". Construct.net. Unknown. Retrieved 2022-02-05.
- ^ Drew Campbell (2019-07-24). "Understanding Delta Time". Medium.com. Unknown. Retrieved 2022-02-05.
