프로그래밍 공부
작성일
2023. 6. 21. 20:47
작성자
WDmil
728x90

Delta Time 

 

게임개발에서 사용되는 중요한 개념이다.

게임의 원활한 실행과 시간에 따른 일관성을 유지하는 데 사용되며, 게임의 프레임 속도와 상호작용을 조정하는 데 도움을 준다.

 

  • Delta TIme 의 사용 목적
    1. 게임엔진이 한 프레임에서 다음 프레임으로 전환할 때 소요되는 시간 간격을 나타낸다.
    2. 게임의 물리엔진, 애니메이션, 이동, 상호작용 등과 관련된 작업에 적용된다.
    3. 게임의 프레임 속도를 조정함으로써 각각의 플랫폼과 하드웨어에서 일관된 속도로 실행되도록 한다.
  • 사용 예 :
    1. 에니메이션, 이동, 물리엔진
      [ 1초간 동작하는 에니메이션의 경우, 프레임당 시간으로 계산하여. 한 프레임당 움직이는 속도를 조정한다. ]
      1초간 1M를 가는 동작을 할 시. 30프레임 기준으로 작성하게 된다고 가정해 보자. 그렇게되면

      60프레임의 하드웨어 환경에서 동작 시 속도가 1초당 2M를 이동하게 되어 버린다.
      30프레임동안 1M를 이동하게 만들어지는 코드가 하드웨어 환경이 60프레임으로 바뀌게 되면,
      60프레임 시 30프레임의 두배의 동작을 수행하기 때문이다.

      만약 30프레임 기준, 한 프레임당 0.03333... 초가 지나게 됨 으로 등속운동 시간을 계산하여
      1초당 1M를 이동하는 것을
      한 프레임당 1*Delta_Time() 을 해주면 된다.
      30프레임 기준 0.0333.. 60프레임 기준 0.01333...

      Object_Speed = 1 Meter/Seconde
      Object_Speed = 1*Delta_Time() Meter/Frame

1프레임에서 30프레임까지 10M를 이동한다고 가정하였다면,
1프레임에서 60프레임까지는 20M를 이동하였다 와 같은 결과가 나타난다. 컴파일 시 30프레임당 1초로 가정하였기 때문.

 

요약

DeltaTime은 소프트웨어 동작 시. 하드웨어의 일괄적이지 않은 속도차이를 보정하기 위해서 사용되며,

전 프레임이 사라진 후 -> 현재 프레임이 나타난 즉시 사이의 시간을 구해주는 함수이다.

728x90

'컴퓨터 용어 정리' 카테고리의 다른 글

Graphic PipeLine  (0) 2023.07.13
Device Context  (0) 2023.07.13
Window API  (0) 2023.06.14
STL_AdapterContainer  (0) 2023.05.28
STL_AssociativeContainer  (0) 2023.05.28