Я до сих пор довольно новичок в SFML, и сейчас я пытаюсь создать базовую игру с прокруткой. У меня большая часть основного материала, но я начинаю замечать, что экран выглядит лагги. Я использую функцию window.setFrameRateLimit, чтобы результат движения был одинаковым на всех компьютерах, но при выполнении программы происходят случайные спады запаздывания. Я думаю, что это делается из-за ограничения частоты кадров и из-за того, как это происходит. Есть ли другой лучший способ только выполнить программу в определенное время? В идеале он также будет двигаться с одинаковой скоростью на более медленных компьютерах.Выполнять только на некоторых фреймах в SFML
1
A
ответ
1
Кажется, спайки setFrameRateLimit были зафиксированы в SFML 2.0. Если вы не можете перейти на SFML 2.0, вы можете добавить свой собственный ограничитель частоты кадров. Это включает добавление sleep() в игровой цикл. Например:
while(App.IsOpened()) {
float time = Clock.GetElapsedTime();
// update game
// draw game
float timeToWait = (1.0/FRAMES_PER_SECOND) - (Clock.GetElapsedTime() - time);
if(timeToWait > 0) {
sleep(timeToWait * 1000);
}
}
Смежные вопросы
- 1. Выполнять только код на некоторых запросах Java
- 2. PHP_AUTH_USER известен только в определенных фреймах
- 3. Настройка location.hash в фреймах
- 4. Выполнение алгоритмов ML на существующих фреймах данных
- 5. HTTP Referer на HTML-фреймах
- 6. Сессия заканчивается в фреймах
- 7. SFML только рисует несколько спрайтов
- 8. UnicodeEncodeError только на некоторых компьютерах
- 9. поведения Textarea в фреймах на IPad
- 10. Javascript/HTML о фреймах
- 11. SFML работает только в отладочном режиме
- 12. SFML - События на клавиатуре
- 13. Выполнять TestSetup только некоторое время?
- 14. Ссылка на «/» работает только в некоторых браузерах
- 15. Селен в многоэтапных фреймах (paypal)
- 16. Как разбить .gif в фреймах?
- 17. Ссылка на SFML в CodeLite
- 18. Управление авторизацией в веб-фреймах
- 19. Выполнять пакет только на одном сервере
- 20. Выполнять foreach только на определенном массиве
- 21. Выполнять только код на определенном сервере
- 22. SFML mouseButtonPressed на Sprite
- 23. C++ SFML, на орбите
- 24. Читайте info.plist в пользовательских фреймах
- 25. C# - Обработка исключений в фреймах
- 26. Выполнять код только на localhost (при разработке)
- 27. Позиционирование виджетов на фреймах с Tkinter
- 28. Можно ли создавать закладки на определенных фреймах?
- 29. Пользовательская агрегация на фреймах данных pyspark
- 30. вопрос о основанных на компонентах фреймах