Class SimulatorAdaptivePerformanceSubsystem.SimulatorProvider
The Simulator Provider controls Subsystems needed to access Adaptive Performance features and the systems lifecycle.
Inheritance
Inherited Members
Namespace: UnityEditor.AdaptivePerformance.Simulator.Editor
Syntax
public class SimulatorProvider : AdaptivePerformanceSubsystem.APProvider, IApplicationLifecycle, IDevicePerformanceLevelControl
Constructors
SimulatorProvider()
Main constructor, used to initialize the provider capabilities.
Declaration
public SimulatorProvider()
Properties
AcceptsPerformanceLevel
Required to simulate performance changes. To change AutomaticPerformanceControl, you have to set AcceptsPerformanceLevel to true. See PerformanceLevelControlAvailable.
Declaration
public virtual bool AcceptsPerformanceLevel { get; set; }
Property Value
| Type | Description |
|---|---|
| Boolean |
ApplicationLifecycle
Returns the application lifecycle.
Declaration
public override IApplicationLifecycle ApplicationLifecycle { get; }
Property Value
| Type | Description |
|---|---|
| IApplicationLifecycle |
Overrides
Capabilities
Returns the capabilities of the provider.
Declaration
public override Feature Capabilities { get; set; }
Property Value
| Type | Description |
|---|---|
| Feature |
Overrides
ChangeFlags
This property is a wrapper around an internal PerformanceDataRecord object. For more details, see ChangeFlags.
Declaration
public virtual Feature ChangeFlags { get; set; }
Property Value
| Type | Description |
|---|---|
| Feature |
CpuPerformanceBoost
This property is a wrapper around an internal PerformanceDataRecord object. For more details, see CpuPerformanceBoost.
Declaration
public virtual bool CpuPerformanceBoost { get; set; }
Property Value
| Type | Description |
|---|---|
| Boolean |
CpuPerformanceLevel
This property is a wrapper around an internal PerformanceDataRecord object. For more details, see CpuPerformanceLevel.
Declaration
public virtual int CpuPerformanceLevel { get; set; }
Property Value
| Type | Description |
|---|---|
| Int32 |
GpuPerformanceBoost
This property is a wrapper around an internal PerformanceDataRecord object. For more details, see GpuPerformanceBoost.
Declaration
public virtual bool GpuPerformanceBoost { get; set; }
Property Value
| Type | Description |
|---|---|
| Boolean |
GpuPerformanceLevel
This property is a wrapper around an internal PerformanceDataRecord object. For more details, see GpuPerformanceLevel.
Declaration
public virtual int GpuPerformanceLevel { get; set; }
Property Value
| Type | Description |
|---|---|
| Int32 |
Initialized
Returns the initialization status of the system.
Declaration
public override bool Initialized { get; set; }
Property Value
| Type | Description |
|---|---|
| Boolean |
Overrides
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 virtual 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 virtual 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 virtual float NextOverallFrameTime { get; set; }
Property Value
| Type | Description |
|---|---|
| Single |
PerformanceLevelControl
Returns the performance level control.
Declaration
public override IDevicePerformanceLevelControl PerformanceLevelControl { get; }
Property Value
| Type | Description |
|---|---|
| IDevicePerformanceLevelControl |
Overrides
PerformanceMode
This property is a wrapper around an internal PerformanceDataRecord object. For more details, see PerformanceMode.
Declaration
public virtual PerformanceMode PerformanceMode { get; set; }
Property Value
| Type | Description |
|---|---|
| PerformanceMode |
Stats
Returns the stats of the provider.
Declaration
public override string Stats { get; }
Property Value
| Type | Description |
|---|---|
| String |
Overrides
TemperatureLevel
This property is a wrapper around an internal PerformanceDataRecord object. For more details, see TemperatureLevel.
Declaration
public virtual 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 virtual 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 virtual 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
Destroy()
Cleanup when the subsystem object is destroyed.
Declaration
public override void Destroy()
EnableCpuBoost()
Enable the boost mode for the CPU.
Declaration
public bool EnableCpuBoost()
Returns
| Type | Description |
|---|---|
| Boolean | Returns if CPU boost mode was successfully enabled. |
Implements
EnableGpuBoost()
Enable the boost mode for the GPU.
Declaration
public bool EnableGpuBoost()
Returns
| Type | Description |
|---|---|
| Boolean | Returns if GPU boost mode was successfully enabled. |
Implements
SetClusterInfo(ClusterInfo)
Helper for the device simulator to change cluster info settings. Those settings are usually changed by a device directly.
Declaration
public virtual void SetClusterInfo(ClusterInfo clusterInfo)
Parameters
| Type | Name | Description |
|---|---|---|
| ClusterInfo | clusterInfo | New Cluster Info values. |
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()
Stop()
Stop running the subsystem.
Declaration
public override void Stop()
TryInitialize()
Simulator subsystem try to initialize initializes successfully.
Declaration
protected override bool TryInitialize()
Returns
| Type | Description |
|---|---|
| Boolean | true if initialized |
Update()
Update current results and flags.
Declaration
public override PerformanceDataRecord Update()
Returns
| Type | Description |
|---|---|
| PerformanceDataRecord | The latest PerformanceDataRecord object. |