Pergerakan berbasis waktu Vs Pergerakan berbasis laju bingkai?

8

Saya baru mengenal pemrograman Game dan SDL, dan saya telah mengikuti tutorial SDL Lazyfoo . Pertanyaan saya terkait dengan gerakan berbasis waktu dan gerakan berbasis frame rate, pada dasarnya mana yang lebih baik atau sesuai tergantung pada situasi? Bisakah Anda memberi saya contoh di mana masing-masing metode ini digunakan?

Pertanyaan lain yang saya miliki adalah bahwa, dalam dua tutorial gerakan lazyfoo ( berbasis FPS dan berbasis waktu ) Metode berbasis waktu menunjukkan animasi yang jauh lebih halus sedangkan yang berbasis frame rate sedikit cegukan, yang berarti Anda dapat dengan jelas melihat kesenjangan antara lokasi sebelumnya dari titik dan posisi saat ini ketika Anda membandingkan dua program.

Sebagai pemula metode mana yang harus saya ikuti? (Yang saya inginkan adalah animasi yang lancar).

diam
sumber

Jawaban:

16

Apa yang ditampilkan sebagai "berbasis FPS" ada. . . baik, pada dasarnya, ini mengerikan. Ini menyematkan kecepatan permainan ke kinerja satu komputer tertentu. Jika Anda meng-upgrade ke komputer cepat yang bagus, gim Anda tiba-tiba akan berjalan dalam kecepatan turbo, jika Anda menurunkan versi ke komputer yang lebih lambat Anda akan berputar-putar di slo-mo.

Pilihan sebenarnya adalah langkah waktu tetap vs langkah waktu variabel, dan pada saat itu saya akan tunduk pada posting yang sangat bagus ini yang masuk ke kedalaman.

ZorbaTHut
sumber
Tidak hanya hal-hal yang bergerak cepat atau lambat tergantung pada komputer yang sedang berjalan, tetapi semua animasi akan bergerak pada tingkat yang sama - apa artinya beberapa animasi akan berjalan sangat cepat, sementara beberapa berjalan sedikit lebih lambat, membuatnya terlihat sangat aneh .
ShrimpCrackers
tetapi bukankah membatasi frame rate akan menyebabkan ini?
diam
@ sil3nt, hanya sampai Anda menjalankan seseorang dengan komputer yang lambat secara tak terduga, atau sampai Anda mulai menggunakan CPU yang cukup untuk jatuh di bawah batas framerate Anda.
ZorbaTHut
Jadi metode berbasis frame rate baik-baik saja jika komputer yang menjalankan program dapat menangani FPS?
diam
@ sil3nt, ya, jika Anda dapat menjamin komputer selalu dapat menangani FPS, dan Anda memiliki cara yang dapat diandalkan untuk mengunci framerate itu. Ini adalah kualifikasi yang cukup sehingga saya akan sangat ragu untuk menggunakannya, terutama dengan bagaimana langkah waktu tetap yang sederhana.
ZorbaTHut