Czas delty

Czas delta lub czas delta to koncepcja używana wśród programistów w odniesieniu do czasu reakcji sprzętu i sieci. W programowaniu graficznym termin ten jest zwykle używany do zmiennego aktualizowania scenerii na podstawie czasu, jaki upłynął od ostatniej aktualizacji gry (tj. poprzedniej „ klatki ”), który będzie się różnić w zależności od szybkości komputera i ilości pracy, którą należy wykonać wykonane w programie w dowolnym momencie. Pozwala to również grafiki , jeśli grafika jest wielowątkowa.

W programowaniu sieciowym , ze względu na nieprzewidywalny charakter połączeń internetowych , taktowanie delta jest wykorzystywane w podobny sposób do zmiennej aktualizacji informacji o ruchu otrzymanych za pośrednictwem sieci komputerowej , niezależnie od tego, ile czasu zajęło odebranie kolejnego pakietu danych informacji o ruchu.

Odbywa się to poprzez wywołanie licznika czasu co klatkę na sekundę, który przechowuje czas między teraz a ostatnim wywołaniem w milisekundach . Następnie wynikowa liczba (czas delta) jest używana do obliczenia, jak daleko na przykład z gry wideo przebyłaby w tym czasie. Powoduje to, że postać potrzebuje takiej samej ilości rzeczywistego czasu na poruszanie się po ekranie, niezależnie od szybkości aktualizacji i niezależnie od tego, czy opóźnienie jest spowodowane brakiem mocy obliczeniowej, czy wolnym połączeniem internetowym.

W programowaniu graficznym pozwala to uniknąć spowolnienia lub przyspieszenia rozgrywki w zależności od złożoności tego, co dzieje się w danym momencie, co spowodowałoby niespójne, irytujące wrażenia (np. spowolnienie czasu, gdy więcej postaci wchodzi na ekran lub bieganie zbyt szybko, ponieważ na ekranie jest tylko jedna postać). W programowaniu sieciowym zapewnia to synchronizację świata gry każdego komputera z pozostałymi, dzięki czemu każdy klient widzi tę samą aktywność w tym samym czasie, nawet jeśli u niektórych klientów upłynęło więcej czasu niż u innych.

Wystarczająco duże opóźnienia ostatecznie negatywnie wpłyną na rozgrywkę , ale użycie Delta Time zapewnia spójność rozgrywki, o ile komputer i połączenie internetowe spełniają minimalne wymagania sprzętowe gry.

Rozrząd delta jest również stosowany w sporcie motorowym . Wykorzystanie rozrządu delta w sporcie motorowym pozwala kierowcom zobaczyć, ile czasu zyskali lub stracili. [ potrzebne źródło ]

Pomiar czasu delta w programie

Pomiar czasu potrzebnego do sprawdzenia, czy liczba jest liczbą pierwszą.

Python3


   


 
       
           0
             
            
     
    

   
 
   

    
   # time() to funkcja, która zwróci sekundę od epoki w formacie zmiennoprzecinkowym (włączając milisekundy)  od  czasu  import  time  # zdefiniuj is_prime(x)  def  is_prime  (  x  ):  for  i  in  range  (  2  ,  x  ):  if  (  x  %  i  )  ==  :  print  (  x  ,  'nie jest liczbą pierwszą'  )  return  print  (  x  ,  'jest liczbą pierwszą'  )  # program główny  t0  =  czas  ()  # początek pomiaru  is_prime  (  13  )  # wywołanie funkcji  t1  =  czas  ()  # koniec pomiaru  deltaTime  =  t1  -  t0  print  (  'is_prime(13) wymaga czasu:'  ,  deltaTime  ,  'sekunda do wykonania!'  ) 

Czas delta i liczba klatek na sekundę

Czas delta i liczba klatek na sekundę nie zawsze są ze sobą powiązane. Gry wideo należą do jednej z dwóch kategorii dotyczących liczby klatek na sekundę: zależne od liczby klatek na sekundę lub niezależne od liczby klatek na sekundę. Liczba klatek na sekundę Gry zależne mają liczbę klatek na sekundę, która różni się w zależności od komputera, na którym działa oprogramowanie. Na przykład, jeśli gra zależna od liczby klatek na sekundę działa z szybkością 300 klatek na sekundę (fps) na komputerze z częstotliwością odświeżania 120 herców (Hz), to będzie działać z szybkością 150 klatek na sekundę na komputerze z częstotliwością odświeżania 60 Hz. Standardowe wyrażenie czasu delta może tworzyć ekrany pauzy i celowe efekty zwolnionego tempa w grach zależnych od liczby klatek na sekundę. Standardowe formuły czasu delta są rzadko używane w standardowej grze, ponieważ czas delta między klatkami różni się znacznie w zależności od częstotliwości odświeżania komputera, na którym jest uruchomiony.

Jeśli gra jest niezależna od liczby klatek na sekundę, liczba klatek na sekundę jest wstępnie ustawiona i działa identycznie na wszystkich komputerach, niezależnie od ich specyfikacji. Niezależność liczby klatek na sekundę ogranicza maksymalną jakość grafiki, aby gra była dostępna dla większej liczby konsumentów. Niezależność liczby klatek na sekundę jest szczególnie popularna w grach mobilnych i grach zoptymalizowanych pod kątem słabszych komputerów, takich jak Chromebooki. W grach niezależnych od liczby klatek na sekundę różnica czasu między klatkami jest spójna w całej grze. Ta standaryzacja oznacza, że ​​jedno wyrażenie czasu delta może zapewnić spójną liczbę klatek na sekundę dla wszystkich użytkowników na wszystkich typach komputerów.

Kiedy używać czasu delta

Czas delta może się wyróżniać zawsze, gdy liczba klatek na sekundę w grze musi być niezależna od jej sprzętu. Jednym z przykładów mogą być gry, które muszą działać na urządzeniach mobilnych lub komputerach z niższej półki. W niektórych przypadkach twórcy gier wideo używają taktowania delta, aby ustandaryzować prędkość ruchu obiektu na ekranie. Na przykład, jeśli postać porusza się po ekranie ze stałą szybkością, delta-timing może zapewnić, że ta prędkość ruchu jest stała i nie podlega wahaniom. Korzystanie z taktowania delta do ruchu jest szczególnie przydatne dla użytkowników, którzy posiadają niespójny Internet lub sprzęt komputerowy z niższej półki. Ta metoda może również regulować ruch obiektów na ekranie.

Wadą korzystania z taktowania delta do ruchu jest to, że może to być skomplikowane w przypadku gier, które obejmują szeroką gamę ruchów i prędkości ruchu. Na przykład gra może mieć określoną prędkość chodzenia i sprintu dla wszystkich postaci; jednak postacie mogą również prowadzić samochody, łodzie, samoloty i inne pojazdy. Jeśli deweloper chce, aby każda z tych prędkości ruchu była inna (aby gra była jak najbardziej realistyczna), potrzebowałby oddzielnego wyrażenia czasu delta dla każdej prędkości ruchu (to znaczy tylko przy założeniu, że ruchy te zachodzą ze stałą szybkością). Jeśli ruchy nie występują ze stałą szybkością, wyrażenia delta-timing są nieskuteczne.

Zobacz też