diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 87b872d7b7..cc75ce8509 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -4109,12 +4109,7 @@ bool Application::eventFilter(QObject* object, QEvent* event) { auto eventType = event->type(); if (eventType == QEvent::KeyPress || eventType == QEvent::KeyRelease || eventType == QEvent::MouseMove) { RefreshRateManager& refreshRateManager = getRefreshRateManager(); - auto refreshRateRegime = refreshRateManager.getRefreshRateRegime(); - - if (refreshRateRegime == RefreshRateManager::RefreshRateRegime::RUNNING || - refreshRateRegime == RefreshRateManager::RefreshRateRegime::INACTIVE) { - getRefreshRateManager().resetInactiveTimer(); - } + getRefreshRateManager().resetInactiveTimer(); } if (event->type() == QEvent::Leave) { @@ -5603,7 +5598,7 @@ void Application::resumeAfterLoginDialogActionTaken() { _myCamera.setMode(_previousCameraMode); cameraModeChanged(); _startUpFinished = true; - getRefreshRateManager().setRefreshRateRegime(RefreshRateManager::RefreshRateRegime::RUNNING); + getRefreshRateManager().setRefreshRateRegime(RefreshRateManager::RefreshRateRegime::FOCUS_ACTIVE); } void Application::loadAvatarScripts(const QVector& urls) { @@ -8547,7 +8542,7 @@ void Application::activeChanged(Qt::ApplicationState state) { case Qt::ApplicationActive: _isForeground = true; if (!_aboutToQuit && _startUpFinished) { - getRefreshRateManager().setRefreshRateRegime(RefreshRateManager::RefreshRateRegime::RUNNING); + getRefreshRateManager().setRefreshRateRegime(RefreshRateManager::RefreshRateRegime::FOCUS_ACTIVE); } break; @@ -8890,7 +8885,7 @@ void Application::setDisplayPlugin(DisplayPluginPointer newDisplayPlugin) { RefreshRateManager& refreshRateManager = getRefreshRateManager(); refreshRateManager.setRefreshRateOperator(OpenGLDisplayPlugin::getRefreshRateOperator()); bool isHmd = newDisplayPlugin->isHmd(); - RefreshRateManager::UXMode uxMode = isHmd ? RefreshRateManager::UXMode::HMD : + RefreshRateManager::UXMode uxMode = isHmd ? RefreshRateManager::UXMode::VR : RefreshRateManager::UXMode::DESKTOP; refreshRateManager.setUXMode(uxMode); diff --git a/interface/src/RefreshRateManager.cpp b/interface/src/RefreshRateManager.cpp index d3e0b102ab..26e887174a 100644 --- a/interface/src/RefreshRateManager.cpp +++ b/interface/src/RefreshRateManager.cpp @@ -26,24 +26,28 @@ static const std::array REFRESH_RATE_REGIME_TO_STRING = - { { "Running", "Unfocus", "Minimized", "StartUp", "ShutDown", "Inactive" } }; + { { "FocusActive", "FocusInactive", "Unfocus", "Minimized", "StartUp", "ShutDown" } }; static const std::array UX_MODE_TO_STRING = - { { "Desktop", "HMD" } }; + { { "Desktop", "VR" } }; static const std::map REFRESH_RATE_PROFILE_FROM_STRING = { { "Eco", RefreshRateManager::RefreshRateProfile::ECO }, { "Interactive", RefreshRateManager::RefreshRateProfile::INTERACTIVE }, { "Realtime", RefreshRateManager::RefreshRateProfile::REALTIME } }; + +// Porfile regimes are: +// { { "Focus_Active", "Focus_Inactive", "Unfocus", "Minimized", "StartUp", "ShutDown" } } + static const std::array ECO_PROFILE = - { { 5, 5, 2, 30, 30, 4 } }; + { { 15, 5, 5, 2, 30, 30 } }; static const std::array INTERACTIVE_PROFILE = - { { 25, 5, 2, 30, 30, 20 } }; + { { 30, 20, 5, 2, 30, 30 } }; static const std::array REALTIME_PROFILE = - { { 60, 10, 2, 30, 30, 30} }; + { { 60, 60, 10, 2, 30, 30} }; static const std::array, RefreshRateManager::RefreshRateProfile::PROFILE_NUM> REFRESH_RATE_PROFILES = { { ECO_PROFILE, INTERACTIVE_PROFILE, REALTIME_PROFILE } }; @@ -74,8 +78,8 @@ RefreshRateManager::RefreshRateManager() { _inactiveTimer->setSingleShot(true); QObject::connect(_inactiveTimer.get(), &QTimer::timeout, [&] { if (_uxMode == RefreshRateManager::UXMode::DESKTOP && - getRefreshRateRegime() == RefreshRateManager::RefreshRateRegime::RUNNING) { - setRefreshRateRegime(RefreshRateManager::RefreshRateRegime::INACTIVE); + getRefreshRateRegime() == RefreshRateManager::RefreshRateRegime::FOCUS_ACTIVE) { + setRefreshRateRegime(RefreshRateManager::RefreshRateRegime::FOCUS_INACTIVE); } }); } @@ -83,7 +87,7 @@ RefreshRateManager::RefreshRateManager() { void RefreshRateManager::resetInactiveTimer() { if (_uxMode == RefreshRateManager::UXMode::DESKTOP) { _inactiveTimer->start(); - setRefreshRateRegime(RefreshRateManager::RefreshRateRegime::RUNNING); + setRefreshRateRegime(RefreshRateManager::RefreshRateRegime::FOCUS_ACTIVE); } } @@ -100,7 +104,7 @@ void RefreshRateManager::setRefreshRateProfile(RefreshRateManager::RefreshRatePr RefreshRateManager::RefreshRateProfile RefreshRateManager::getRefreshRateProfile() const { RefreshRateManager::RefreshRateProfile profile = RefreshRateManager::RefreshRateProfile::REALTIME; - if (getUXMode() != RefreshRateManager::UXMode::HMD) { + if (getUXMode() != RefreshRateManager::UXMode::VR) { profile =(RefreshRateManager::RefreshRateProfile) _refreshRateModeLock.resultWithReadLock([&] { return _refreshRateMode.get(); }); @@ -110,7 +114,7 @@ RefreshRateManager::RefreshRateProfile RefreshRateManager::getRefreshRateProfile } RefreshRateManager::RefreshRateRegime RefreshRateManager::getRefreshRateRegime() const { - return getUXMode() == RefreshRateManager::UXMode::HMD ? RefreshRateManager::RefreshRateRegime::RUNNING : + return getUXMode() == RefreshRateManager::UXMode::VR ? RefreshRateManager::RefreshRateRegime::FOCUS_ACTIVE : _refreshRateRegime; } @@ -133,7 +137,7 @@ void RefreshRateManager::updateRefreshRateController() const { if (_refreshRateOperator) { int targetRefreshRate; if (_uxMode == RefreshRateManager::UXMode::DESKTOP) { - if (_refreshRateRegime == RefreshRateManager::RefreshRateRegime::RUNNING && + if (_refreshRateRegime == RefreshRateManager::RefreshRateRegime::FOCUS_ACTIVE && _refreshRateProfile == RefreshRateManager::RefreshRateProfile::INTERACTIVE) { targetRefreshRate = getInteractiveRefreshRate(); } else { diff --git a/interface/src/RefreshRateManager.h b/interface/src/RefreshRateManager.h index f28941e982..049cc46938 100644 --- a/interface/src/RefreshRateManager.h +++ b/interface/src/RefreshRateManager.h @@ -30,18 +30,18 @@ public: }; enum RefreshRateRegime { - RUNNING = 0, + FOCUS_ACTIVE = 0, + FOCUS_INACTIVE, UNFOCUS, MINIMIZED, STARTUP, SHUTDOWN, - INACTIVE, REGIME_NUM }; enum UXMode { DESKTOP = 0, - HMD, + VR, UX_NUM };