• 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?

Object Storage Arubacloud
0 głosów
1,534 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 Ekspert (344,860 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ź 220 wizyt
pytanie zadane 31 sierpnia 2019 w C i C++ przez niezalogowany
+1 głos
2 odpowiedzi 3,933 wizyt
pytanie zadane 7 listopada 2017 w JavaScript przez Ferik Nowicjusz (240 p.)
0 głosów
2 odpowiedzi 216 wizyt
pytanie zadane 18 kwietnia 2019 w PHP przez MrxCI Dyskutant (8,260 p.)

92,568 zapytań

141,422 odpowiedzi

319,638 komentarzy

61,957 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...