Я программирую игру на Java, и я ограничиваю FPS до 60. Я выяснил два разных способа получить тот же результат, но мне интересно, какой из них является лучшим/чистым способом сделать это. Или, может быть, у вас другая идея.while loop или Thread.sleep()?
while(System.nanoTime() - thisFrame < fps_limit);
или
Thread.sleep(sleepingTime);
Мое мышление является то, что в то время как петля эффекты ЦП более Thread.sleep, я прав?
Заранее благодарим за вашу помощь!
Дом
'Thread.sleep' не спать точное количество времени. Он может спать немного дольше; и как только поток просыпается, он может не работать с тем же приоритетом, что и ранее. ([Далее] (http://stackoverflow.com/questions/23169557/thread-sleep-and-precise-timing)). –
Если вы нацелены на точность ns, это не сработает, если вы нацеливаете время> 10 мс, вы будете прекрасно в порядке – Walfrat