Restrict max events per frame in UI event loop

This commit is contained in:
Nikita Lisitsa 2022-02-05 12:38:06 +03:00
parent 11614b3c1b
commit d653cb1b8b

View file

@ -1,5 +1,7 @@
#include <psemek/app/ui_scene.hpp>
#include <psemek/log/log.hpp>
namespace psemek::app
{
@ -88,8 +90,11 @@ namespace psemek::app
void ui_scene::update()
{
static constexpr std::size_t max_events_per_frame = 64;
controller_.update(update_clock_.restart().count());
controller_.loop()->pump();
if (controller_.loop()->pump(max_events_per_frame) == max_events_per_frame)
log::warning() << "UI event loop had more than " << max_events_per_frame << " events, delaying others";
}
void ui_scene::present()