Class AdaptivePerformanceSubsystem
Use the Adaptive Performance Subsystem class to create your custom provider subsystem to deliver data from your provider to Adaptive Performance.
Inheritance
Inherited Members
Namespace: UnityEngine.AdaptivePerformance.Provider
Syntax
public abstract class AdaptivePerformanceSubsystem : AdaptivePerformanceSubsystemBase, ISubsystem
Constructors
AdaptivePerformanceSubsystem()
Main constructor, not used in the subsystem specifically.
Declaration
protected AdaptivePerformanceSubsystem()
Properties
ApplicationLifecycle
Application lifecycle events to be consumed by subsystem. Can be null if the subsystem does not need special handling on life-cycle events. The returned reference does not change after startup.
Declaration
public abstract IApplicationLifecycle ApplicationLifecycle { get; }
Property Value
Type | Description |
---|---|
IApplicationLifecycle | Application lifecycle object |
Capabilities
Bitset of supported features. Does not change after startup.
Declaration
public Feature Capabilities { get; protected set; }
Property Value
Type | Description |
---|---|
Feature | Bitset |
PerformanceLevelControl
Control CPU or GPU performance levels of the device. Can be null if the subsystem does not support controlling CPU/GPU performance levels. Is null when the PerformanceLevelControl bit is not set in Capabilities. The returned reference does not change after startup.
Declaration
public abstract IDevicePerformanceLevelControl PerformanceLevelControl { get; }
Property Value
Type | Description |
---|---|
IDevicePerformanceLevelControl | Performance level control object |
Stats
Generates a human readable string of subsystem internal stats. Optional and only used for development.
Declaration
public virtual string Stats { get; }
Property Value
Type | Description |
---|---|
String | String with subsystem specific statistics |
Version
Returns the version of the subsystem implementation. Can be used together with SubsystemDescriptor to identify a subsystem.
Declaration
public abstract Version Version { get; }
Property Value
Type | Description |
---|---|
Version | Version number |
Methods
Update()
To be called once per frame. The returned data structure's fields are populated with the latest available data, according to the supported Capabilities.
Declaration
public abstract PerformanceDataRecord Update()
Returns
Type | Description |
---|---|
PerformanceDataRecord | Data structure with the most recent performance data. |