Support setting max events per frame in ui_scene derived classes
This commit is contained in:
parent
29bdfb4dd2
commit
323c5a714f
2 changed files with 5 additions and 4 deletions
|
|
@ -38,6 +38,8 @@ namespace psemek::app
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
|
std::optional<std::size_t> max_events_per_frame_ = 64;
|
||||||
|
|
||||||
std::shared_ptr<ui::element> get_ui() { return ui_; }
|
std::shared_ptr<ui::element> get_ui() { return ui_; }
|
||||||
void set_ui(std::shared_ptr<ui::element> ui);
|
void set_ui(std::shared_ptr<ui::element> ui);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -90,11 +90,10 @@ namespace psemek::app
|
||||||
|
|
||||||
void ui_scene::update()
|
void ui_scene::update()
|
||||||
{
|
{
|
||||||
static constexpr std::size_t max_events_per_frame = 64;
|
|
||||||
|
|
||||||
controller_.update(update_clock_.restart().count());
|
controller_.update(update_clock_.restart().count());
|
||||||
if (controller_.loop()->pump(max_events_per_frame) == max_events_per_frame)
|
std::size_t events = controller_.loop()->pump(max_events_per_frame_);
|
||||||
log::warning() << "UI event loop had more than " << max_events_per_frame << " events, delaying others";
|
if (max_events_per_frame_ && events == *max_events_per_frame_)
|
||||||
|
log::warning() << "UI event loop had more than " << *max_events_per_frame_ << " events, delaying others";
|
||||||
}
|
}
|
||||||
|
|
||||||
void ui_scene::present()
|
void ui_scene::present()
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue