Я працюю над простою грою в OpenGL, використовую SDL для ініціалізації дисплея та введення, і це з'являється з точки зору часу, у мене є два варіанти. Номер один, який просто спить для оптимальногоTimePerFrame - theTimeTakenToRender, коли оптимальнийTimePerFrame за секунди = 1 / theFramerateCap. (Я не зовсім впевнений, чи потрібно це, оскільки це еквівалентно використанню vsync, що може бути більш точним. Якщо моє припущення правильне, то, будь ласка, скажіть мені, чи не, SDL + OpenGL має vsync за замовчуванням, а якщо ні, як щоб увімкнути це.) Інше полягає в вимірюванні часу з моменту надання останнього кадру і просто відповідно регулюйте рух. (Чим коротший час для візуалізації кадру, тим менше далекі об'єкти рухаються в цьому кадрі). Що стосується продуктивності та зменшення мерехтіння тощо, які переваги та недоліки мають ці два методи?