cap asset browser update rate

This commit is contained in:
T1ti
2024-04-29 21:02:16 +02:00
parent 053fad877c
commit 0aee60f1d8
2 changed files with 16 additions and 2 deletions

View File

@@ -29,8 +29,15 @@ ModelViewer::ModelViewer(QWidget* parent, Noggit::NoggitRenderContext context)
_move_sensitivity = _settings->value("assetBrowser/move_sensitivity", 15.0f).toFloat() / 30.0f;
_update_every_event_loop.start (0);
connect (&_update_every_event_loop, &QTimer::timeout, [this] { update(); });
int _fps_limit = _settings->value("fps_limit", 60).toInt();
int _fps_calcul = (int)((1.f / (float)_fps_limit) * 1000.f);
_update_every_event_loop.start (_fps_calcul);
connect (&_update_every_event_loop, &QTimer::timeout, [this]
{
_needs_redraw = true;
update();
});
}
void ModelViewer::initializeGL()
@@ -44,6 +51,11 @@ void ModelViewer::initializeGL()
void ModelViewer::paintGL()
{
if (!_needs_redraw)
return;
else
_needs_redraw = false;
const qreal now(_startup_time.elapsed() / 1000.0);
OpenGL::context::scoped_setter const _ (::gl, context());
@@ -64,6 +76,7 @@ void ModelViewer::resizeGL(int w, int h)
OpenGL::context::scoped_setter const _ (::gl, context());
gl.viewport(0.0f, 0.0f, w, h);
emit resized();
_needs_redraw = true;
}
void ModelViewer::tick(float dt)

View File

@@ -61,6 +61,7 @@ namespace Noggit
QElapsedTimer _startup_time;
qreal _last_update = 0.f;
bool _needs_redraw = false;
float _move_sensitivity = 0.5f;
QMetaObject::Connection _gl_guard_connection;