Movimento basato sul tempo Vs Movimento basato sul frame rate?


8

Sono nuovo di programmazione del gioco e SDL, e ho seguito i tutorial SDL di Lazyfoo . La mia domanda è correlata al movimento basato sul tempo e al movimento basato sulla frequenza dei fotogrammi, sostanzialmente quale è meglio o appropriato a seconda delle situazioni ?. Potresti darmi un esempio in cui vengono utilizzati ciascuno di questi metodi?

Un'altra domanda che ho è che, nei due tutorial di Motion di Lazyfoo ( basati su FPS e basati sul tempo ), il metodo basato sul tempo ha mostrato un'animazione molto più fluida mentre quello basato su Frame rate era un po 'singhiozzante, il che significa che si vedeva chiaramente il divario tra la posizione precedente del punto e la sua posizione corrente quando si confrontano i due programmi.

Come principiante a quale metodo devo attenermi? (Tutto ciò che voglio sono animazioni fluide).


Risposte:


16

Ciò che viene mostrato come "basato su FPS" esiste. . . bene, in fondo, è terribile. Sta fissando la velocità del gioco alle prestazioni di un determinato computer. Se esegui l'upgrade a un bel computer veloce, il tuo gioco funzionerà all'improvviso a velocità turbo, se esegui il downgrade a un computer più lento, dovrai muoverti in slo-mo.

La vera scelta è un intervallo di tempo fisso rispetto a un intervallo di tempo variabile, e a quel punto rimanderò a questo eccellente post che va in profondità.


Non solo le cose si muoveranno velocemente o lentamente a seconda del computer in cui è in esecuzione, ma tutte le animazioni si muoveranno alla stessa velocità - ciò significa che alcune animazioni funzioneranno molto velocemente, mentre altre procederanno un po 'più lentamente, rendendolo davvero strano .
ShrimpCrackers il

ma il limite della frequenza dei fotogrammi non è responsabile di questo?
silenzioso,

@ sil3nt, solo fino a quando non si esegue qualcuno con un computer inaspettatamente lento o fino a quando non si inizia a utilizzare una CPU sufficiente a scendere sotto il limite del framerate.
ZorbaTHut,

Quindi il metodo basato sulla frequenza dei fotogrammi va bene se il computer su cui è in esecuzione il programma è in grado di gestire l'FPS?
silenzioso il

@ sil3nt, sì, se puoi garantire che il computer sia sempre in grado di gestire l'FPS e hai un modo affidabile per bloccare quel framerate. Questo è un numero sufficiente di qualificatori che sarei molto riluttante a usarlo, soprattutto con quanto sia semplice la fase temporale fissa.
ZorbaTHut,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.