• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Co oznacza Delta Time?

Aruba Cloud - Virtual Private Server VPS
0 głosów
2,058 wizyt
pytanie zadane 14 grudnia 2019 w C i C++ przez Szymczak_7 Obywatel (1,860 p.)
zamknięte 14 grudnia 2019 przez Szymczak_7
Od pewnego czasu uczę się tworzyć gry z użyciem biblioteki SFML i spotkałem się z terminem Delta Time, więc moje pytanie brzmi:

Co to jest Delta Time? Do czego to służy?
komentarz zamknięcia: Otrzymałem odpowiedź

1 odpowiedź

0 głosów
odpowiedź 14 grudnia 2019 przez adrian17 Mentor (352,580 p.)
wybrane 14 grudnia 2019 przez Szymczak_7
 
Najlepsza

Chodzi o zależność między upływem czasu rzeczywistego a stanem gry.

"fixed delta time"/"fixed time step" - nie przejmujesz się upływem czasu rzeczywistego; jeśli prędkość pojazdu wynosi 15, to w każdej iteracji głównej pęli przenosisz go o 15 - i tyle. Proste i deterministyczne, ale skoro pętla programu zależy od częstotliwości odświeżania, to jeśli komuś spadnie lub wzrośnie FPS (albo np komputer zacznie myśleć nad aktualizacjami), to cała gra mu przyśpieszy/zwolni.

W skrajnych przypadkach w tak zaprojektowanych grach prowadzi to do takich śmiesznych sytuacji: https://youtu.be/eDA37BmvNwM?t=341

"variable time step" - mierzysz czas między kolejnymi iteracjami pętli i używasz go jako mnożnik do fizyki gry. minęło 8ms? Przenosisz pojazd o 10 jednostek. 12ms? Przenosisz o 15 jednostek. Jest dzięki temu odporne na losowe zmiany szybkości komputera i małe lagi i bez problemu wspierasz dowolny FPS. To też ma wady - czasem widać jak są używane w speedrunach do psucia fizyki gry. No i ogólnie jest bardziej skomplikowane.

Więcej szczegółów np tutaj: https://gamedev.stackexchange.com/questions/1589/when-should-i-use-a-fixed-or-variable-time-step oraz http://gafferongames.com/game-physics/fix-your-timestep/

Są też bardziej złożone rozwiązania, ale to jest najbardziej ogólny podział. No i w multiplayerze to jeszcze inny świat.

komentarz 14 grudnia 2019 przez Szymczak_7 Obywatel (1,860 p.)
Dzięki, myślę że teraz to rozumiem.

Podobne pytania

0 głosów
1 odpowiedź 472 wizyt
pytanie zadane 31 sierpnia 2019 w C i C++ przez niezalogowany
+1 głos
2 odpowiedzi 4,320 wizyt
pytanie zadane 7 listopada 2017 w JavaScript przez Ferik Nowicjusz (240 p.)
0 głosów
2 odpowiedzi 307 wizyt
pytanie zadane 18 kwietnia 2019 w PHP przez MrxCI Dyskutant (8,260 p.)

93,334 zapytań

142,328 odpowiedzi

322,406 komentarzy

62,670 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...