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 { get; set; }
Property Value
Type | Description |
---|---|
Feature | Bitset |
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 { get; set; }
Property Value
Type | Description |
---|---|
Single |
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 { 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 { get; set; }
Property Value
Type | Description |
---|---|
Single |
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 { 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 { 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 { 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 { 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 { 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 { get; set; }
Property Value
Type | Description |
---|---|
WarningLevel | The current warning level |