Struct PerformanceDataRecord
The performance data record stores all information about the thermal and performance status and delivers it from the provider subsystem to Adaptive Performance for further processing.
Namespace: UnityEngine.AdaptivePerformance.Provider
Syntax
public struct PerformanceDataRecord
Properties
ChangeFlags
A bitset of features which indicate if their value changed in the last frame or at startup. Unsupported features will never change. Fields not changing always have valid data as long as its capability is supported.
Declaration
public Feature ChangeFlags { readonly get; set; }
Property Value
Type | Description |
---|---|
Feature | Bitset |
ClusterInfo
Current CPU cluster information information. Includes number of big, medium and small cores use at the application startup.
Declaration
public ClusterInfo ClusterInfo { readonly get; set; }
Property Value
Type | Description |
---|---|
ClusterInfo |
CpuFrameTime
The time in seconds spent by the CPU for rendering the last complete frame. Has changed when CpuFrameTime bit is set in ChangeFlags.
Declaration
public float CpuFrameTime { readonly get; set; }
Property Value
Type | Description |
---|---|
Single |
CpuPerformanceBoost
The currently active CPU boost state. This is typically true if previously enabled with EnableCpuBoost() once the boost is successfully applied. Adaptive Performance might also change this level on its own. This typically happens when the device is thermal throttling or when EnableCpuBoost() fails. Once the CPU boost is enabled it is active until you receive a callback that it is disabled. CPU boost level has changed when CpuPerformanceBoost bit is set in ChangeFlags.
Declaration
public bool CpuPerformanceBoost { readonly get; set; }
Property Value
Type | Description |
---|---|
Boolean |
CpuPerformanceLevel
The currently active CPU performance level. This is typically the value previously set with SetPerformanceLevel(ref Int32, ref Int32) once the levels are successfully applied. Adaptive Performance might also change this level on its own. This typically happens when the device is thermal throttling or when SetPerformanceLevel(ref Int32, ref Int32) failed. CPU performance level has a value in the range of [MinCpuPerformanceLevel, MaxCpuPerformanceLevel], or UnknownPerformanceLevel. A value of UnknownPerformanceLevel means that Adaptive Performance took control of performance levels. CPU performance level has changed when CpuPerformanceLevel bit is set in ChangeFlags.
Declaration
public int CpuPerformanceLevel { readonly get; set; }
Property Value
Type | Description |
---|---|
Int32 |
GpuFrameTime
The time in seconds spent by the GPU for rendering the last complete frame. Has changed when GpuFrameTime bit is set in ChangeFlags.
Declaration
public float GpuFrameTime { readonly get; set; }
Property Value
Type | Description |
---|---|
Single |
GpuPerformanceBoost
The currently active GPU boost state. This is typically true if previously enabled with EnableGpuBoost() once the boost is successfully applied. Adaptive Performance might also change this level on its own. This typically happens when the device is thermal throttling or when EnableGpuBoost() fails. Once the GPU boost is enabled it is active until you receive a callback that it is disabled. GPU boost level has changed when GpuPerformanceBoost bit is set in ChangeFlags.
Declaration
public bool GpuPerformanceBoost { readonly get; set; }
Property Value
Type | Description |
---|---|
Boolean |
GpuPerformanceLevel
The currently active GPU performance level. This is typically the value previously set with SetPerformanceLevel(ref Int32, ref Int32) once the levels are successfully applied. Adaptive Performance might also change this level on its own. This typically happens when the device is thermal throttling or when SetPerformanceLevel(ref Int32, ref Int32) failed. GPU performance level has a value in the range of [MinCpuPerformanceLevel, MaxGpuPerformanceLevel], or UnknownPerformanceLevel. A value of UnknownPerformanceLevel means that Adaptive Performance took control of performance levels. GPU performance level has changed when GpuPerformanceLevel bit is set in ChangeFlags.
Declaration
public int GpuPerformanceLevel { readonly get; set; }
Property Value
Type | Description |
---|---|
Int32 |
OverallFrameTime
The total time in seconds spent for the frame. Has changed when OverallFrameTime bit is set in ChangeFlags.
Declaration
public float OverallFrameTime { readonly get; set; }
Property Value
Type | Description |
---|---|
Single |
PerformanceLevelControlAvailable
True if =performance levels can currently be controlled manually and aren't controlled by Adaptive Performance or the operating system. Has changed when PerformanceLevelControl bit is set in ChangeFlags.
Declaration
public bool PerformanceLevelControlAvailable { readonly get; set; }
Property Value
Type | Description |
---|---|
Boolean |
TemperatureLevel
The current normalized temperature level in the range of [0.0, 1.0], or -1.0 when not supported or not available right now. A level of 1.0 means that the device is thermal throttling. The temperature level has changed when the TemperatureLevel bit is set in ChangeFlags.
Declaration
public float TemperatureLevel { readonly get; set; }
Property Value
Type | Description |
---|---|
Single | Temperature level in the range of [0.0, 1.0] or -1.0 |
TemperatureTrend
The current temperature trend in the range of [-1.0, 1.0] that is a metric of temperature change over time. The temperature trend is constant at 0.0 in case the feature is not supported. The temperature trend has changed when TemperatureTrend bit is set in ChangeFlags.
Declaration
public float TemperatureTrend { readonly get; set; }
Property Value
Type | Description |
---|---|
Single | Temperature trend in the range of [-1.0, 1.0] |
WarningLevel
The current warning level as documented in WarningLevel. The warning level has changed when WarningLevel bit is set in ChangeFlags.
Declaration
public WarningLevel WarningLevel { readonly get; set; }
Property Value
Type | Description |
---|---|
WarningLevel | The current warning level |