Saya sedang mengerjakan permainan sederhana di OpenGL, menggunakan SDL untuk inisialisasi tampilan dan input, dan ini muncul dalam hal waktu saya memiliki dua opsi yang tersedia untuk saya. Nomor satu yang hanya tidur untuk optimalTimePerFrame - theTimeTakenToRender, ketika optimalTimePerFrame dalam hitungan detik = 1 / theFramerateCap. (Saya tidak sepenuhnya yakin apakah ini perlu, karena ini setara dengan menggunakan vsync, yang mungkin lebih akurat. Jika asumsi saya benar maka tolong katakan padaku apakah SDL + OpenGL memiliki vsync secara default, dan jika tidak seberapa untuk mengaktifkannya.) Yang lain adalah untuk mengukur waktu sejak frame terakhir diberikan, dan hanya menyesuaikan gerakan yang sesuai. (Semakin pendek waktu yang dibutuhkan untuk membuat bingkai, entitas yang kurang jauh bergerak dalam bingkai itu). Dalam hal kinerja, dan penurunan flicker dll, apa kelebihan dan kekurangan dari kedua metode ini?