12 #ifndef hifi_PerformanceManager_h
13 #define hifi_PerformanceManager_h
17 #include <SettingHandle.h>
18 #include <shared/ReadWriteLockable.h>
20 class PerformanceManager {
22 enum PerformancePreset {
31 static bool isValidPerformancePreset(
int value) {
return (value >= PerformancePreset::UNKNOWN && value <= PerformancePreset::CUSTOM); }
34 ~PerformanceManager() =
default;
38 void setupPerformancePresetSettings(
bool evaluatePlatformTier);
40 void setPerformancePreset(PerformancePreset performancePreset);
41 PerformancePreset getPerformancePreset()
const;
44 mutable ReadWriteLockable _performancePresetSettingLock;
45 Setting::Handle<int> _performancePresetSetting {
"performancePreset", PerformanceManager::PerformancePreset::UNKNOWN };
48 void applyPerformancePreset(PerformanceManager::PerformancePreset performancePreset);