Showing the changes to interface/src/RefreshRateManager.cpp (1 of 3 files). Show all
Unified · Split
| @@ -26,24 +26,28 @@ static const std::array<std::string, RefreshRateManager::RefreshRateProfile::PRO · 25 unmodified lines | |||
| 26 | { { "Eco", "Interactive", "Realtime" } }; | 26 | { { "Eco", "Interactive", "Realtime" } }; |
| 27 | 27 | ||
| 28 | static const std::array<std::string, RefreshRateManager::RefreshRateRegime::REGIME_NUM> REFRESH_RATE_REGIME_TO_STRING = | 28 | static const std::array<std::string, RefreshRateManager::RefreshRateRegime::REGIME_NUM> REFRESH_RATE_REGIME_TO_STRING = |
| 29 | { { "Running", "Unfocus", "Minimized", "StartUp", "ShutDown", "Inactive" } }; | 29 | { { "FocusActive", "FocusInactive", "Unfocus", "Minimized", "StartUp", "ShutDown" } }; |
| 30 | 30 | ||
| 31 | static const std::array<std::string, RefreshRateManager::UXMode::UX_NUM> UX_MODE_TO_STRING = | 31 | static const std::array<std::string, RefreshRateManager::UXMode::UX_NUM> UX_MODE_TO_STRING = |
| 32 | { { "Desktop", "HMD" } }; | 32 | { { "Desktop", "VR" } }; |
| 33 | 33 | ||
| 34 | static const std::map<std::string, RefreshRateManager::RefreshRateProfile> REFRESH_RATE_PROFILE_FROM_STRING = | 34 | static const std::map<std::string, RefreshRateManager::RefreshRateProfile> REFRESH_RATE_PROFILE_FROM_STRING = |
| 35 | { { "Eco", RefreshRateManager::RefreshRateProfile::ECO }, | 35 | { { "Eco", RefreshRateManager::RefreshRateProfile::ECO }, |
| 36 | { "Interactive", RefreshRateManager::RefreshRateProfile::INTERACTIVE }, | 36 | { "Interactive", RefreshRateManager::RefreshRateProfile::INTERACTIVE }, |
| 37 | { "Realtime", RefreshRateManager::RefreshRateProfile::REALTIME } }; | 37 | { "Realtime", RefreshRateManager::RefreshRateProfile::REALTIME } }; |
| 38 | 38 | ||
| 39 | |||
| 40 | // Porfile regimes are: | ||
| 41 | // { { "Focus_Active", "Focus_Inactive", "Unfocus", "Minimized", "StartUp", "ShutDown" } } | ||
| 42 | |||
| 39 | static const std::array<int, RefreshRateManager::RefreshRateRegime::REGIME_NUM> ECO_PROFILE = | 43 | static const std::array<int, RefreshRateManager::RefreshRateRegime::REGIME_NUM> ECO_PROFILE = |
| 40 | { { 5, 5, 2, 30, 30, 4 } }; | 44 | { { 15, 5, 5, 2, 30, 30 } }; |
| 41 | 45 | ||
| 42 | static const std::array<int, RefreshRateManager::RefreshRateRegime::REGIME_NUM> INTERACTIVE_PROFILE = | 46 | static const std::array<int, RefreshRateManager::RefreshRateRegime::REGIME_NUM> INTERACTIVE_PROFILE = |
| 43 | { { 25, 5, 2, 30, 30, 20 } }; | 47 | { { 30, 20, 5, 2, 30, 30 } }; |
| 44 | 48 | ||
| 45 | static const std::array<int, RefreshRateManager::RefreshRateRegime::REGIME_NUM> REALTIME_PROFILE = | 49 | static const std::array<int, RefreshRateManager::RefreshRateRegime::REGIME_NUM> REALTIME_PROFILE = |
| 46 | { { 60, 10, 2, 30, 30, 30} }; | 50 | { { 60, 60, 10, 2, 30, 30} }; |
| 47 | 51 | ||
| 48 | static const std::array<std::array<int, RefreshRateManager::RefreshRateRegime::REGIME_NUM>, RefreshRateManager::RefreshRateProfile::PROFILE_NUM> REFRESH_RATE_PROFILES = | 52 | static const std::array<std::array<int, RefreshRateManager::RefreshRateRegime::REGIME_NUM>, RefreshRateManager::RefreshRateProfile::PROFILE_NUM> REFRESH_RATE_PROFILES = |
| 49 | { { ECO_PROFILE, INTERACTIVE_PROFILE, REALTIME_PROFILE } }; | 53 | { { ECO_PROFILE, INTERACTIVE_PROFILE, REALTIME_PROFILE } }; |
| @@ -74,8 +78,8 @@ RefreshRateManager::RefreshRateManager() { · 24 unmodified lines | |||
| 74 | _inactiveTimer->setSingleShot(true); | 78 | _inactiveTimer->setSingleShot(true); |
| 75 | QObject::connect(_inactiveTimer.get(), &QTimer::timeout, [&] { | 79 | QObject::connect(_inactiveTimer.get(), &QTimer::timeout, [&] { |
| 76 | if (_uxMode == RefreshRateManager::UXMode::DESKTOP && | 80 | if (_uxMode == RefreshRateManager::UXMode::DESKTOP && |
| 77 | getRefreshRateRegime() == RefreshRateManager::RefreshRateRegime::RUNNING) { | 81 | getRefreshRateRegime() == RefreshRateManager::RefreshRateRegime::FOCUS_ACTIVE) { |
| 78 | setRefreshRateRegime(RefreshRateManager::RefreshRateRegime::INACTIVE); | 82 | setRefreshRateRegime(RefreshRateManager::RefreshRateRegime::FOCUS_INACTIVE); |
| 79 | } | 83 | } |
| 80 | }); | 84 | }); |
| 81 | } | 85 | } |
| @@ -83,7 +87,7 @@ RefreshRateManager::RefreshRateManager() { · 1 unmodified line | |||
| 83 | void RefreshRateManager::resetInactiveTimer() { | 87 | void RefreshRateManager::resetInactiveTimer() { |
| 84 | if (_uxMode == RefreshRateManager::UXMode::DESKTOP) { | 88 | if (_uxMode == RefreshRateManager::UXMode::DESKTOP) { |
| 85 | _inactiveTimer->start(); | 89 | _inactiveTimer->start(); |
| 86 | setRefreshRateRegime(RefreshRateManager::RefreshRateRegime::RUNNING); | 90 | setRefreshRateRegime(RefreshRateManager::RefreshRateRegime::FOCUS_ACTIVE); |
| 87 | } | 91 | } |
| 88 | } | 92 | } |
| 89 | 93 | ||
| @@ -100,7 +104,7 @@ void RefreshRateManager::setRefreshRateProfile(RefreshRateManager::RefreshRatePr · 10 unmodified lines | |||
| 100 | RefreshRateManager::RefreshRateProfile RefreshRateManager::getRefreshRateProfile() const { | 104 | RefreshRateManager::RefreshRateProfile RefreshRateManager::getRefreshRateProfile() const { |
| 101 | RefreshRateManager::RefreshRateProfile profile = RefreshRateManager::RefreshRateProfile::REALTIME; | 105 | RefreshRateManager::RefreshRateProfile profile = RefreshRateManager::RefreshRateProfile::REALTIME; |
| 102 | 106 | ||
| 103 | if (getUXMode() != RefreshRateManager::UXMode::HMD) { | 107 | if (getUXMode() != RefreshRateManager::UXMode::VR) { |
| 104 | profile =(RefreshRateManager::RefreshRateProfile) _refreshRateModeLock.resultWithReadLock<int>([&] { | 108 | profile =(RefreshRateManager::RefreshRateProfile) _refreshRateModeLock.resultWithReadLock<int>([&] { |
| 105 | return _refreshRateMode.get(); | 109 | return _refreshRateMode.get(); |
| 106 | }); | 110 | }); |
| @@ -110,7 +114,7 @@ RefreshRateManager::RefreshRateProfile RefreshRateManager::getRefreshRateProfile · 3 unmodified lines | |||
| 110 | } | 114 | } |
| 111 | 115 | ||
| 112 | RefreshRateManager::RefreshRateRegime RefreshRateManager::getRefreshRateRegime() const { | 116 | RefreshRateManager::RefreshRateRegime RefreshRateManager::getRefreshRateRegime() const { |
| 113 | return getUXMode() == RefreshRateManager::UXMode::HMD ? RefreshRateManager::RefreshRateRegime::RUNNING : | 117 | return getUXMode() == RefreshRateManager::UXMode::VR ? RefreshRateManager::RefreshRateRegime::FOCUS_ACTIVE : |
| 114 | _refreshRateRegime; | 118 | _refreshRateRegime; |
| 115 | } | 119 | } |
| 116 | 120 | ||
| @@ -133,7 +137,7 @@ void RefreshRateManager::updateRefreshRateController() const { · 16 unmodified lines | |||
| 133 | if (_refreshRateOperator) { | 137 | if (_refreshRateOperator) { |
| 134 | int targetRefreshRate; | 138 | int targetRefreshRate; |
| 135 | if (_uxMode == RefreshRateManager::UXMode::DESKTOP) { | 139 | if (_uxMode == RefreshRateManager::UXMode::DESKTOP) { |
| 136 | if (_refreshRateRegime == RefreshRateManager::RefreshRateRegime::RUNNING && | 140 | if (_refreshRateRegime == RefreshRateManager::RefreshRateRegime::FOCUS_ACTIVE && |
| 137 | _refreshRateProfile == RefreshRateManager::RefreshRateProfile::INTERACTIVE) { | 141 | _refreshRateProfile == RefreshRateManager::RefreshRateProfile::INTERACTIVE) { |
| 138 | targetRefreshRate = getInteractiveRefreshRate(); | 142 | targetRefreshRate = getInteractiveRefreshRate(); |
| 139 | } else { | 143 | } else { |