diff --git a/libraries/display-plugins/src/display-plugins/OpenGLDisplayPlugin.cpp b/libraries/display-plugins/src/display-plugins/OpenGLDisplayPlugin.cpp index 29bd9301e3..8e02077600 100644 --- a/libraries/display-plugins/src/display-plugins/OpenGLDisplayPlugin.cpp +++ b/libraries/display-plugins/src/display-plugins/OpenGLDisplayPlugin.cpp @@ -152,7 +152,14 @@ OpenGLDisplayPlugin::OpenGLDisplayPlugin() { }); connect(&_timer, &QTimer::timeout, this, [&] { +#ifdef Q_OS_MAC + // On Mac, QT thread timing is such that we can miss one or even two cycles quite often, giving a render rate (including update/simulate) + // far lower than what we want. This hack keeps that rate more natural, at the expense of some wasted rendering. + // This is likely to be mooted by further planned changes. if (_active && _sceneTextureEscrow.depth() <= 1) { +#else + if (_active && _sceneTextureEscrow.depth() < 1) { +#endif emit requestRender(); } });