SFML и C++ Уроки \ Разработка игр › Форумы › SFML Начало работы (подключение и настройка) › Загрузка ЦП › Ответ в теме: Загрузка ЦП
Заранее извиняюсь, что подымаю старую тему, но появилось что сказать по этой теме. Я не измерял нагрузку на ЦП, у меня была проблема другого характера – очень низкий FPS. Причём на аналоичном тестовом коде. Я заметил, что при движении мышкой по окну FPS проседал вплодь до 0,5! Покопавшись, таки нашёл причину. Вот это место:
1 2 3 4 |
while(window.pollEvent(event)){ if(event.type == sf::Event::Closed) window.close(); } |
Если я правильно разобрался, то мы отлавливаем все события, а обрабатываем только закрытие окна. Но этот цикл не даёт продолжить, пока все события не будут обработаны. Возможно такая проблема только у меня. (Я программирую под Linux) В моём случае просто заменил на этот код:
1 2 |
if(sf::Keyboard::isKeyPressed(sf::Keyboard::Escape)) window.close(); |
FPS поднялся до 2500. Но окно теперь закрывается только по Escape, хотя в случае моей “игры” это не критично.
Если кто с подобным сталкивался и нашёл более лаконичное решение, напишите.