Class SimulatorAdaptivePerformanceSubsystem
The subsystem is used for simulating Adaptive Performance in the Editor with the Device Simulator. It is also used for Adaptive Performance tests and to simulate Adaptive Performance when it is not available on the hardware you work with.
Inheritance
Inherited Members
Namespace: UnityEditor.AdaptivePerformance.Simulator.Editor
Syntax
[Preserve]
public class SimulatorAdaptivePerformanceSubsystem : AdaptivePerformanceSubsystem, ISubsystem, IApplicationLifecycle, IDevicePerformanceLevelControl
Constructors
SimulatorAdaptivePerformanceSubsystem()
Main constructor, not used in the subsystem specifically.
Declaration
public SimulatorAdaptivePerformanceSubsystem()
Properties
AcceptsPerformanceLevel
Required to simulate performance changes. To change AutomaticPerformanceControl, you have to set AcceptsPerformanceLevel to true. See PerformanceLevelControlAvailable.
Declaration
public bool AcceptsPerformanceLevel { get; set; }
Property Value
| Type | Description | 
|---|---|
| Boolean | 
ApplicationLifecycle
See ApplicationLifecycle.
Declaration
public override IApplicationLifecycle ApplicationLifecycle { get; }
Property Value
| Type | Description | 
|---|---|
| IApplicationLifecycle | 
Overrides
ChangeFlags
This property is a wrapper around an internal PerformanceDataRecord object. For more details, see ChangeFlags.
Declaration
public Feature ChangeFlags { get; set; }
Property Value
| Type | Description | 
|---|---|
| Feature | 
CpuPerformanceLevel
This property is a wrapper around an internal PerformanceDataRecord object. For more details, see CpuPerformanceLevel.
Declaration
public int CpuPerformanceLevel { get; set; }
Property Value
| Type | Description | 
|---|---|
| Int32 | 
GpuPerformanceLevel
This property is a wrapper around an internal PerformanceDataRecord object. For more details, see GpuPerformanceLevel.
Declaration
public int GpuPerformanceLevel { get; set; }
Property Value
| Type | Description | 
|---|---|
| Int32 | 
MaxCpuPerformanceLevel
Declaration
public int MaxCpuPerformanceLevel { get; }
Property Value
| Type | Description | 
|---|---|
| Int32 | 
Implements
MaxGpuPerformanceLevel
Declaration
public int MaxGpuPerformanceLevel { get; }
Property Value
| Type | Description | 
|---|---|
| Int32 | 
Implements
NextCpuFrameTime
This property is a wrapper around an internal PerformanceDataRecord object. For more details, see CpuFrameTime.
Declaration
public float NextCpuFrameTime { get; set; }
Property Value
| Type | Description | 
|---|---|
| Single | 
NextGpuFrameTime
This property is a wrapper around an internal PerformanceDataRecord object. For more details, see GpuFrameTime.
Declaration
public float NextGpuFrameTime { get; set; }
Property Value
| Type | Description | 
|---|---|
| Single | 
NextOverallFrameTime
This property is a wrapper around an internal PerformanceDataRecord object. For more details, see OverallFrameTime.
Declaration
public float NextOverallFrameTime { get; set; }
Property Value
| Type | Description | 
|---|---|
| Single | 
PerformanceLevelControl
Declaration
public override IDevicePerformanceLevelControl PerformanceLevelControl { get; }
Property Value
| Type | Description | 
|---|---|
| IDevicePerformanceLevelControl | 
Overrides
TemperatureLevel
This property is a wrapper around an internal PerformanceDataRecord object. For more details, see TemperatureLevel.
Declaration
public float TemperatureLevel { get; set; }
Property Value
| Type | Description | 
|---|---|
| Single | 
TemperatureTrend
This property is a wrapper around an internal PerformanceDataRecord object. For more details, see TemperatureTrend.
Declaration
public float TemperatureTrend { get; set; }
Property Value
| Type | Description | 
|---|---|
| Single | 
Version
The current version of the Device Simulator Adaptive Performance Subsystem. Matches the version of the Adaptive Performance Subsystem. See Version.
Declaration
public override Version Version { get; }
Property Value
| Type | Description | 
|---|---|
| Version | 
Overrides
WarningLevel
This property is a wrapper around an internal PerformanceDataRecord object. For more details, see WarningLevel.
Declaration
public WarningLevel WarningLevel { get; set; }
Property Value
| Type | Description | 
|---|---|
| WarningLevel | 
Methods
ApplicationPause()
Callback that is called when the application goes into a pause state.
Declaration
public void ApplicationPause()
Implements
ApplicationResume()
Callback that is called when the application resumes after being paused.
Declaration
public void ApplicationResume()
Implements
OnDestroy()
Cleanup when the subsystem object is destroyed.
Declaration
protected override void OnDestroy()
Overrides
SetPerformanceLevel(ref Int32, ref Int32)
Set the performance level for both the CPU and GPU.
Declaration
public bool SetPerformanceLevel(ref int cpuLevel, ref int gpuLevel)
Parameters
| Type | Name | Description | 
|---|---|---|
| Int32 | cpuLevel | The CPU performance level to request.  | 
| Int32 | gpuLevel | The GPU performance level to request.  | 
Returns
| Type | Description | 
|---|---|
| Boolean | Returns if the levels were successfully set.  | 
Implements
Start()
Perform initialization of the subsystem.
Declaration
public override void Start()
Overrides
Stop()
Stop running the subsystem.
Declaration
public override void Stop()
Overrides
Update()
Update current results and flags.
Declaration
public override PerformanceDataRecord Update()
Returns
| Type | Description | 
|---|---|
| PerformanceDataRecord | The latest PerformanceDataRecord object.  |