Apply my own comments

This commit is contained in:
Sam Gateau 2019-05-01 16:57:03 -07:00
parent ad60c51197
commit 7f71ec8d3d
3 changed files with 22 additions and 23 deletions

View file

@ -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);

View file

@ -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 {

View file

@ -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
}; };