namespace UnityEngine.AdaptivePerformance { /// /// Constants used by Adaptive Performance. /// public static class Constants { /// /// The minimum temperature level. /// See . /// /// 0.0 public const float MinTemperatureLevel = 0.0f; /// /// The maximum temperature level. /// See . /// /// 1.0 public const float MaxTemperatureLevel = 1.0f; /// /// The minimum CPU level. /// Used by and . /// /// 0 public const int MinCpuPerformanceLevel = 0; /// /// The minimum GPU level. /// Used by and . /// /// 0 public const int MinGpuPerformanceLevel = 0; /// /// UnknownPerformanceLevel is the value of , , /// , and if the current performance level is unknown. /// This can happen when AdaptivePerformance is not supported or when the device is in throttling state (see ). /// /// -1 public const int UnknownPerformanceLevel = -1; /// /// The number of past frames that are considered to calculate average frame times. /// /// 100 public const int DefaultAverageFrameCount = 100; } /// /// The main interface to access Adaptive Performance. /// None of the properties in this interface change after startup. /// This means the references returned by the properties may be cached by the user. /// public interface IAdaptivePerformance { /// /// Returns true if Adaptive Performance was initialized successfully, false otherwise. /// This means that Adaptive Performance is enabled in StartupSettings and the application runs on a device that supports Adaptive Performance. /// /// True when Adaptive Performance is available, false otherwise. bool Active { get; } /// /// Access thermal status information of the device. /// /// Interface to access thermal status information of the device. IThermalStatus ThermalStatus { get; } /// /// Access performance status information of the device and your application. /// /// Interface to access performance status information of the device and your application. IPerformanceStatus PerformanceStatus { get; } /// /// Control CPU and GPU performance of the device. /// /// Interface to control CPU and GPU performance levels of the device. IDevicePerformanceControl DevicePerformanceControl { get; } /// /// Access to development (logging) settings. /// /// Interface to control CPU and GPU performance levels of the device. IDevelopmentSettings DevelopmentSettings { get; } /// /// Access to the Indexer system. See /// /// Interface to scalers that are active and their associated settings. AdaptivePerformanceIndexer Indexer { get; } /// /// Access to the Settings. See . /// /// Interface to settings that are loaded from the provider settings object during startup. IAdaptivePerformanceSettings Settings { get; } /// /// List of supported Features by the loaded provider. See . /// /// The feature in question. See . /// True if the requested feature is supported, false otherwise. bool SupportedFeature(Provider.Feature feature); } /// /// Global access to the default AdaptivePerformance interface. /// public static class Holder { /// /// Global access to the default AdaptivePerformance interface to access the main manager object. /// static public IAdaptivePerformance Instance { get; internal set; } } }