mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-08-09 09:18:45 +02:00
Apply my own comments
This commit is contained in:
parent
ad60c51197
commit
7f71ec8d3d
3 changed files with 22 additions and 23 deletions
|
@ -4109,12 +4109,7 @@ bool Application::eventFilter(QObject* object, QEvent* event) {
|
||||||
auto eventType = event->type();
|
auto eventType = event->type();
|
||||||
if (eventType == QEvent::KeyPress || eventType == QEvent::KeyRelease || eventType == QEvent::MouseMove) {
|
if (eventType == QEvent::KeyPress || eventType == QEvent::KeyRelease || eventType == QEvent::MouseMove) {
|
||||||
RefreshRateManager& refreshRateManager = getRefreshRateManager();
|
RefreshRateManager& refreshRateManager = getRefreshRateManager();
|
||||||
auto refreshRateRegime = refreshRateManager.getRefreshRateRegime();
|
getRefreshRateManager().resetInactiveTimer();
|
||||||
|
|
||||||
if (refreshRateRegime == RefreshRateManager::RefreshRateRegime::RUNNING ||
|
|
||||||
refreshRateRegime == RefreshRateManager::RefreshRateRegime::INACTIVE) {
|
|
||||||
getRefreshRateManager().resetInactiveTimer();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (event->type() == QEvent::Leave) {
|
if (event->type() == QEvent::Leave) {
|
||||||
|
@ -5603,7 +5598,7 @@ void Application::resumeAfterLoginDialogActionTaken() {
|
||||||
_myCamera.setMode(_previousCameraMode);
|
_myCamera.setMode(_previousCameraMode);
|
||||||
cameraModeChanged();
|
cameraModeChanged();
|
||||||
_startUpFinished = true;
|
_startUpFinished = true;
|
||||||
getRefreshRateManager().setRefreshRateRegime(RefreshRateManager::RefreshRateRegime::RUNNING);
|
getRefreshRateManager().setRefreshRateRegime(RefreshRateManager::RefreshRateRegime::FOCUS_ACTIVE);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Application::loadAvatarScripts(const QVector<QString>& urls) {
|
void Application::loadAvatarScripts(const QVector<QString>& urls) {
|
||||||
|
@ -8547,7 +8542,7 @@ void Application::activeChanged(Qt::ApplicationState state) {
|
||||||
case Qt::ApplicationActive:
|
case Qt::ApplicationActive:
|
||||||
_isForeground = true;
|
_isForeground = true;
|
||||||
if (!_aboutToQuit && _startUpFinished) {
|
if (!_aboutToQuit && _startUpFinished) {
|
||||||
getRefreshRateManager().setRefreshRateRegime(RefreshRateManager::RefreshRateRegime::RUNNING);
|
getRefreshRateManager().setRefreshRateRegime(RefreshRateManager::RefreshRateRegime::FOCUS_ACTIVE);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -8890,7 +8885,7 @@ void Application::setDisplayPlugin(DisplayPluginPointer newDisplayPlugin) {
|
||||||
RefreshRateManager& refreshRateManager = getRefreshRateManager();
|
RefreshRateManager& refreshRateManager = getRefreshRateManager();
|
||||||
refreshRateManager.setRefreshRateOperator(OpenGLDisplayPlugin::getRefreshRateOperator());
|
refreshRateManager.setRefreshRateOperator(OpenGLDisplayPlugin::getRefreshRateOperator());
|
||||||
bool isHmd = newDisplayPlugin->isHmd();
|
bool isHmd = newDisplayPlugin->isHmd();
|
||||||
RefreshRateManager::UXMode uxMode = isHmd ? RefreshRateManager::UXMode::HMD :
|
RefreshRateManager::UXMode uxMode = isHmd ? RefreshRateManager::UXMode::VR :
|
||||||
RefreshRateManager::UXMode::DESKTOP;
|
RefreshRateManager::UXMode::DESKTOP;
|
||||||
|
|
||||||
refreshRateManager.setUXMode(uxMode);
|
refreshRateManager.setUXMode(uxMode);
|
||||||
|
|
|
@ -26,24 +26,28 @@ static const std::array<std::string, RefreshRateManager::RefreshRateProfile::PRO
|
||||||
{ { "Eco", "Interactive", "Realtime" } };
|
{ { "Eco", "Interactive", "Realtime" } };
|
||||||
|
|
||||||
static const std::array<std::string, RefreshRateManager::RefreshRateRegime::REGIME_NUM> REFRESH_RATE_REGIME_TO_STRING =
|
static const std::array<std::string, RefreshRateManager::RefreshRateRegime::REGIME_NUM> REFRESH_RATE_REGIME_TO_STRING =
|
||||||
{ { "Running", "Unfocus", "Minimized", "StartUp", "ShutDown", "Inactive" } };
|
{ { "FocusActive", "FocusInactive", "Unfocus", "Minimized", "StartUp", "ShutDown" } };
|
||||||
|
|
||||||
static const std::array<std::string, RefreshRateManager::UXMode::UX_NUM> UX_MODE_TO_STRING =
|
static const std::array<std::string, RefreshRateManager::UXMode::UX_NUM> UX_MODE_TO_STRING =
|
||||||
{ { "Desktop", "HMD" } };
|
{ { "Desktop", "VR" } };
|
||||||
|
|
||||||
static const std::map<std::string, RefreshRateManager::RefreshRateProfile> REFRESH_RATE_PROFILE_FROM_STRING =
|
static const std::map<std::string, RefreshRateManager::RefreshRateProfile> REFRESH_RATE_PROFILE_FROM_STRING =
|
||||||
{ { "Eco", RefreshRateManager::RefreshRateProfile::ECO },
|
{ { "Eco", RefreshRateManager::RefreshRateProfile::ECO },
|
||||||
{ "Interactive", RefreshRateManager::RefreshRateProfile::INTERACTIVE },
|
{ "Interactive", RefreshRateManager::RefreshRateProfile::INTERACTIVE },
|
||||||
{ "Realtime", RefreshRateManager::RefreshRateProfile::REALTIME } };
|
{ "Realtime", RefreshRateManager::RefreshRateProfile::REALTIME } };
|
||||||
|
|
||||||
|
|
||||||
|
// Porfile regimes are:
|
||||||
|
// { { "Focus_Active", "Focus_Inactive", "Unfocus", "Minimized", "StartUp", "ShutDown" } }
|
||||||
|
|
||||||
static const std::array<int, RefreshRateManager::RefreshRateRegime::REGIME_NUM> ECO_PROFILE =
|
static const std::array<int, RefreshRateManager::RefreshRateRegime::REGIME_NUM> ECO_PROFILE =
|
||||||
{ { 5, 5, 2, 30, 30, 4 } };
|
{ { 15, 5, 5, 2, 30, 30 } };
|
||||||
|
|
||||||
static const std::array<int, RefreshRateManager::RefreshRateRegime::REGIME_NUM> INTERACTIVE_PROFILE =
|
static const std::array<int, RefreshRateManager::RefreshRateRegime::REGIME_NUM> INTERACTIVE_PROFILE =
|
||||||
{ { 25, 5, 2, 30, 30, 20 } };
|
{ { 30, 20, 5, 2, 30, 30 } };
|
||||||
|
|
||||||
static const std::array<int, RefreshRateManager::RefreshRateRegime::REGIME_NUM> REALTIME_PROFILE =
|
static const std::array<int, RefreshRateManager::RefreshRateRegime::REGIME_NUM> REALTIME_PROFILE =
|
||||||
{ { 60, 10, 2, 30, 30, 30} };
|
{ { 60, 60, 10, 2, 30, 30} };
|
||||||
|
|
||||||
static const std::array<std::array<int, RefreshRateManager::RefreshRateRegime::REGIME_NUM>, RefreshRateManager::RefreshRateProfile::PROFILE_NUM> REFRESH_RATE_PROFILES =
|
static const std::array<std::array<int, RefreshRateManager::RefreshRateRegime::REGIME_NUM>, RefreshRateManager::RefreshRateProfile::PROFILE_NUM> REFRESH_RATE_PROFILES =
|
||||||
{ { ECO_PROFILE, INTERACTIVE_PROFILE, REALTIME_PROFILE } };
|
{ { ECO_PROFILE, INTERACTIVE_PROFILE, REALTIME_PROFILE } };
|
||||||
|
@ -74,8 +78,8 @@ RefreshRateManager::RefreshRateManager() {
|
||||||
_inactiveTimer->setSingleShot(true);
|
_inactiveTimer->setSingleShot(true);
|
||||||
QObject::connect(_inactiveTimer.get(), &QTimer::timeout, [&] {
|
QObject::connect(_inactiveTimer.get(), &QTimer::timeout, [&] {
|
||||||
if (_uxMode == RefreshRateManager::UXMode::DESKTOP &&
|
if (_uxMode == RefreshRateManager::UXMode::DESKTOP &&
|
||||||
getRefreshRateRegime() == RefreshRateManager::RefreshRateRegime::RUNNING) {
|
getRefreshRateRegime() == RefreshRateManager::RefreshRateRegime::FOCUS_ACTIVE) {
|
||||||
setRefreshRateRegime(RefreshRateManager::RefreshRateRegime::INACTIVE);
|
setRefreshRateRegime(RefreshRateManager::RefreshRateRegime::FOCUS_INACTIVE);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -83,7 +87,7 @@ RefreshRateManager::RefreshRateManager() {
|
||||||
void RefreshRateManager::resetInactiveTimer() {
|
void RefreshRateManager::resetInactiveTimer() {
|
||||||
if (_uxMode == RefreshRateManager::UXMode::DESKTOP) {
|
if (_uxMode == RefreshRateManager::UXMode::DESKTOP) {
|
||||||
_inactiveTimer->start();
|
_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 RefreshRateManager::getRefreshRateProfile() const {
|
||||||
RefreshRateManager::RefreshRateProfile profile = RefreshRateManager::RefreshRateProfile::REALTIME;
|
RefreshRateManager::RefreshRateProfile profile = RefreshRateManager::RefreshRateProfile::REALTIME;
|
||||||
|
|
||||||
if (getUXMode() != RefreshRateManager::UXMode::HMD) {
|
if (getUXMode() != RefreshRateManager::UXMode::VR) {
|
||||||
profile =(RefreshRateManager::RefreshRateProfile) _refreshRateModeLock.resultWithReadLock<int>([&] {
|
profile =(RefreshRateManager::RefreshRateProfile) _refreshRateModeLock.resultWithReadLock<int>([&] {
|
||||||
return _refreshRateMode.get();
|
return _refreshRateMode.get();
|
||||||
});
|
});
|
||||||
|
@ -110,7 +114,7 @@ RefreshRateManager::RefreshRateProfile RefreshRateManager::getRefreshRateProfile
|
||||||
}
|
}
|
||||||
|
|
||||||
RefreshRateManager::RefreshRateRegime RefreshRateManager::getRefreshRateRegime() const {
|
RefreshRateManager::RefreshRateRegime RefreshRateManager::getRefreshRateRegime() const {
|
||||||
return getUXMode() == RefreshRateManager::UXMode::HMD ? RefreshRateManager::RefreshRateRegime::RUNNING :
|
return getUXMode() == RefreshRateManager::UXMode::VR ? RefreshRateManager::RefreshRateRegime::FOCUS_ACTIVE :
|
||||||
_refreshRateRegime;
|
_refreshRateRegime;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -133,7 +137,7 @@ void RefreshRateManager::updateRefreshRateController() const {
|
||||||
if (_refreshRateOperator) {
|
if (_refreshRateOperator) {
|
||||||
int targetRefreshRate;
|
int targetRefreshRate;
|
||||||
if (_uxMode == RefreshRateManager::UXMode::DESKTOP) {
|
if (_uxMode == RefreshRateManager::UXMode::DESKTOP) {
|
||||||
if (_refreshRateRegime == RefreshRateManager::RefreshRateRegime::RUNNING &&
|
if (_refreshRateRegime == RefreshRateManager::RefreshRateRegime::FOCUS_ACTIVE &&
|
||||||
_refreshRateProfile == RefreshRateManager::RefreshRateProfile::INTERACTIVE) {
|
_refreshRateProfile == RefreshRateManager::RefreshRateProfile::INTERACTIVE) {
|
||||||
targetRefreshRate = getInteractiveRefreshRate();
|
targetRefreshRate = getInteractiveRefreshRate();
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -30,18 +30,18 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
enum RefreshRateRegime {
|
enum RefreshRateRegime {
|
||||||
RUNNING = 0,
|
FOCUS_ACTIVE = 0,
|
||||||
|
FOCUS_INACTIVE,
|
||||||
UNFOCUS,
|
UNFOCUS,
|
||||||
MINIMIZED,
|
MINIMIZED,
|
||||||
STARTUP,
|
STARTUP,
|
||||||
SHUTDOWN,
|
SHUTDOWN,
|
||||||
INACTIVE,
|
|
||||||
REGIME_NUM
|
REGIME_NUM
|
||||||
};
|
};
|
||||||
|
|
||||||
enum UXMode {
|
enum UXMode {
|
||||||
DESKTOP = 0,
|
DESKTOP = 0,
|
||||||
HMD,
|
VR,
|
||||||
UX_NUM
|
UX_NUM
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue