# 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.

## Definition

* **Type:** Struct
* **Namespace:** [UnityEngine.AdaptivePerformance.Provider](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider.md)
* **Assembly:** UnityEngine.AdaptivePerformanceModule

```csharp
public struct PerformanceDataRecord
```

## Properties

| Property                                                                                                                                                               | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [ChangeFlags](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/performancedatarecord/changeflags.md)                                           | 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.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| [ClusterInfo](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/performancedatarecord/clusterinfo.md)                                           | Current CPU cluster information information. Includes number of big, medium and small cores use at the application startup.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| [CpuFrameTime](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/performancedatarecord/cpuframetime.md)                                         | The time in seconds spent by the CPU for rendering the last complete frame. Has changed when [Feature.CpuFrameTime](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/feature/cpuframetime.md) bit is set in [PerformanceDataRecord.ChangeFlags](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/performancedatarecord/changeflags.md).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| [CpuPerformanceBoost](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/performancedatarecord/cpuperformanceboost.md)                           | The currently active CPU boost state. This is typically true if previously enabled with [IDevicePerformanceLevelControl.EnableCpuBoost](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/ideviceperformancelevelcontrol/enablecpuboost.md) 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 [IDevicePerformanceLevelControl.EnableCpuBoost](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/ideviceperformancelevelcontrol/enablecpuboost.md) 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 [Feature.CpuPerformanceBoost](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/feature/cpuperformanceboost.md) bit is set in [PerformanceDataRecord.ChangeFlags](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/performancedatarecord/changeflags.md).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| [CpuPerformanceLevel](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/performancedatarecord/cpuperformancelevel.md)                           | The currently active CPU performance level. This is typically the value previously set with [IDevicePerformanceLevelControl.SetPerformanceLevel](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/ideviceperformancelevelcontrol/setperformancelevel.md) 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 [IDevicePerformanceLevelControl.SetPerformanceLevel](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/ideviceperformancelevelcontrol/setperformancelevel.md) failed. CPU performance level has a value in the range of \[[Constants.MinCpuPerformanceLevel](/engine/6000.7/script-reference/unityengine/adaptiveperformance/constants/mincpuperformancelevel.md), [IDevicePerformanceLevelControl.MaxCpuPerformanceLevel](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/ideviceperformancelevelcontrol/maxcpuperformancelevel.md)], or [Constants.UnknownPerformanceLevel](/engine/6000.7/script-reference/unityengine/adaptiveperformance/constants/unknownperformancelevel.md). A value of [Constants.UnknownPerformanceLevel](/engine/6000.7/script-reference/unityengine/adaptiveperformance/constants/unknownperformancelevel.md) means that Adaptive Performance took control of performance levels. CPU performance level has changed when [Feature.CpuPerformanceLevel](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/feature/cpuperformancelevel.md) bit is set in [PerformanceDataRecord.ChangeFlags](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/performancedatarecord/changeflags.md). |
| [CpuUtilization](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/performancedatarecord/cpuutilization.md)                                     | The current normalized CPU utilization in the range of \[0.0, 1.0], or -1.0 when not supported. A value of 0.0 indicates the CPU is lightly loaded and cool. A value of 1.0 indicates the CPU is heavily loaded or hot. Has changed when [Feature.CpuUtilization](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/feature/cpuutilization.md) bit is set in [PerformanceDataRecord.ChangeFlags](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/performancedatarecord/changeflags.md).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| [EnergyUsage](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/performancedatarecord/energyusage.md)                                           | The latest per-subsystem energy consumption since energy-usage tracking was started or reset. Has changed when [Feature.EnergyUsage](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/feature/energyusage.md) bit is set in [PerformanceDataRecord.ChangeFlags](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/performancedatarecord/changeflags.md).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| [GpuFrameTime](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/performancedatarecord/gpuframetime.md)                                         | The time in seconds spent by the GPU for rendering the last complete frame. Has changed when [Feature.GpuFrameTime](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/feature/gpuframetime.md) bit is set in [PerformanceDataRecord.ChangeFlags](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/performancedatarecord/changeflags.md).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| [GpuPerformanceBoost](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/performancedatarecord/gpuperformanceboost.md)                           | The currently active GPU boost state. This is typically true if previously enabled with [IDevicePerformanceLevelControl.EnableGpuBoost](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/ideviceperformancelevelcontrol/enablegpuboost.md) 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 [IDevicePerformanceLevelControl.EnableGpuBoost](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/ideviceperformancelevelcontrol/enablegpuboost.md) 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 [Feature.GpuPerformanceBoost](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/feature/gpuperformanceboost.md) bit is set in [PerformanceDataRecord.ChangeFlags](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/performancedatarecord/changeflags.md).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| [GpuPerformanceLevel](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/performancedatarecord/gpuperformancelevel.md)                           | The currently active GPU performance level. This is typically the value previously set with [IDevicePerformanceLevelControl.SetPerformanceLevel](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/ideviceperformancelevelcontrol/setperformancelevel.md) 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 [IDevicePerformanceLevelControl.SetPerformanceLevel](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/ideviceperformancelevelcontrol/setperformancelevel.md) failed. GPU performance level has a value in the range of \[[Constants.MinCpuPerformanceLevel](/engine/6000.7/script-reference/unityengine/adaptiveperformance/constants/mincpuperformancelevel.md), [IDevicePerformanceLevelControl.MaxGpuPerformanceLevel](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/ideviceperformancelevelcontrol/maxgpuperformancelevel.md)], or [Constants.UnknownPerformanceLevel](/engine/6000.7/script-reference/unityengine/adaptiveperformance/constants/unknownperformancelevel.md). A value of [Constants.UnknownPerformanceLevel](/engine/6000.7/script-reference/unityengine/adaptiveperformance/constants/unknownperformancelevel.md) means that Adaptive Performance took control of performance levels. GPU performance level has changed when [Feature.GpuPerformanceLevel](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/feature/gpuperformancelevel.md) bit is set in [PerformanceDataRecord.ChangeFlags](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/performancedatarecord/changeflags.md). |
| [GpuUtilization](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/performancedatarecord/gpuutilization.md)                                     | The current normalized GPU utilization in the range of \[0.0, 1.0], or -1.0 when not supported. A value of 0.0 indicates the GPU is lightly loaded and cool. A value of 1.0 indicates the GPU is heavily loaded or hot. Has changed when [Feature.GpuUtilization](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/feature/gpuutilization.md) bit is set in [PerformanceDataRecord.ChangeFlags](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/performancedatarecord/changeflags.md).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| [LowPowerMode](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/performancedatarecord/lowpowermode.md)                                         | True when the platform reports a low-power condition (iOS Low Power Mode, Android Battery Saver, etc.). Has changed when [Feature.LowPowerMode](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/feature/lowpowermode.md) bit is set in [PerformanceDataRecord.ChangeFlags](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/performancedatarecord/changeflags.md).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| [OverallFrameTime](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/performancedatarecord/overallframetime.md)                                 | The total time in seconds spent for the frame. Has changed when [Feature.OverallFrameTime](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/feature/overallframetime.md) bit is set in [PerformanceDataRecord.ChangeFlags](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/performancedatarecord/changeflags.md).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| [PerformanceLevelControlAvailable](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/performancedatarecord/performancelevelcontrolavailable.md) | True if =performance levels can currently be controlled manually and aren't controlled by Adaptive Performance or the operating system. Has changed when [Feature.PerformanceLevelControl](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/feature/performancelevelcontrol.md) bit is set in [PerformanceDataRecord.ChangeFlags](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/performancedatarecord/changeflags.md).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| [PerformanceMode](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/performancedatarecord/performancemode.md)                                   | Current Performance mode information.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| [TemperatureLevel](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/performancedatarecord/temperaturelevel.md)                                 | 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 [Feature.TemperatureLevel](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/feature/temperaturelevel.md) bit is set in [PerformanceDataRecord.ChangeFlags](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/performancedatarecord/changeflags.md).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| [TemperatureTrend](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/performancedatarecord/temperaturetrend.md)                                 | 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 [Feature.TemperatureTrend](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/feature/temperaturetrend.md) bit is set in [PerformanceDataRecord.ChangeFlags](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/performancedatarecord/changeflags.md).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| [WarningLevel](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/performancedatarecord/warninglevel.md)                                         | The current warning level as documented in [Feature.WarningLevel](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/feature/warninglevel.md). The warning level has changed when [Feature.WarningLevel](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/feature/warninglevel.md) bit is set in [PerformanceDataRecord.ChangeFlags](/engine/6000.7/script-reference/unityengine/adaptiveperformance/provider/performancedatarecord/changeflags.md).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
