Klatki na sekundę i czas klatki
FPS i czas klatki — dwie strony jednej wielkości, a clock.tick() tylko trzyma cykl, ale go nie przyspiesza.
FPS (frames per second, klatki na sekundę) – ile razy na sekundę gra udaje mu się przejść przez cały cykl Input → Update → Render i pokazać graczowi nową klatkę. Inne Jeśli system wyświetlania i wyjścia są w stanie wyświetlić dodatkowe klatki, tym wyższe Płynność animacji może poprawić wizualną płynność ruchu – ale płynność już Naturalne fizyczne ograniczenie związane z ekranem i czasem, jaki zajmuje każdy kod Rama.
Czas klatki
Czas klatki (frame time) to liczba milisekund, jakie trwała pojedyncza pętla. FPS oraz Czas ramki to dwie strony tej samej wartości:
#frame_time trwa sekundy, fps klatki na sekundę
frame_time = 1 / 60 # 60 klatek na sekundę -> sekund na klatkę
fps = 1 / frame_time # powrót: sekundy na klatkę -> fps
print(frame_time) # 0,016666... sekund, czyli około 16,7 ms na klatkę
print(fps) # 60.0
clock.tick(60) z sekcji 20.2 nie przyspiesza gry – wręcz przeciwnie,
Jest sztucznie przytrzymuje pętlę, jeśli ta próbuje wykonać się szybciej niż 60 razy w
sekundę, i nic nie może zrobić, jeśli kod jednej klatki sam zajmuje więcej
czasu, niż przewidziany budżet. Rzeczywisty, zmierzony FPS można poznać poprzez
clock.get_fps(), ale nie od razu: średnio wypada na ostatnie dziesięć
Wyzwania clock.tick() szczerze wraca do dziesiątej klatki
0.0. Zero w pierwszych klatkach nie jest zepsutym licznikiem, ale jeszcze nie
Zebrane statystyki.
clock.tick(FPS) na końcu każdej klatki inne silniki i gry mogą inaczej kontrolować tempo: za pomocą vsync, stałego timestep- schedulera lub własnego systemu czasowania silnika.