Class EXTPerformanceSettings
This extension defines an API for the application to give performance hints to the runtime and for the runtime to send performance related notifications back to the application. This allows both sides to dial in a suitable compromise between needed CPU and GPU performance, thermal sustainability and a consistent good user experience throughout the session.
The goal is to render frames consistently, in time, under varying system load without consuming more energy than necessary.
In summary, the APIs allow:
- setting performance level hints
- receiving performance related notifications
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe extension name.static final intThe extension specification version.static final intXrPerfSettingsDomainEXT - XrPerfSettingsDomainEXTstatic final intXrPerfSettingsDomainEXT - XrPerfSettingsDomainEXTstatic final intXrPerfSettingsLevelEXT - XrPerfSettingsLevelEXTstatic final intXrPerfSettingsLevelEXT - XrPerfSettingsLevelEXTstatic final intXrPerfSettingsLevelEXT - XrPerfSettingsLevelEXTstatic final intXrPerfSettingsLevelEXT - XrPerfSettingsLevelEXTstatic final intXrPerfSettingsNotificationLevelEXT - XrPerfSettingsNotificationLevelEXTstatic final intXrPerfSettingsNotificationLevelEXT - XrPerfSettingsNotificationLevelEXTstatic final intXrPerfSettingsNotificationLevelEXT - XrPerfSettingsNotificationLevelEXTstatic final intXrPerfSettingsSubDomainEXT - XrPerfSettingsSubDomainEXTstatic final intXrPerfSettingsSubDomainEXT - XrPerfSettingsSubDomainEXTstatic final intXrPerfSettingsSubDomainEXT - XrPerfSettingsSubDomainEXTstatic final intExtendsXrStructureType. -
Method Summary
Modifier and TypeMethodDescriptionstatic intxrPerfSettingsSetPerformanceLevelEXT(XrSession session, int domain, int level) xrPerfSettingsSetPerformanceLevelEXT.
-
Field Details
-
XR_EXT_performance_settings_SPEC_VERSION
public static final int XR_EXT_performance_settings_SPEC_VERSIONThe extension specification version.- See Also:
-
XR_EXT_PERFORMANCE_SETTINGS_EXTENSION_NAME
The extension name.- See Also:
-
XR_TYPE_EVENT_DATA_PERF_SETTINGS_EXT
public static final int XR_TYPE_EVENT_DATA_PERF_SETTINGS_EXTExtendsXrStructureType.- See Also:
-
XR_PERF_SETTINGS_DOMAIN_CPU_EXT
public static final int XR_PERF_SETTINGS_DOMAIN_CPU_EXTXrPerfSettingsDomainEXT - XrPerfSettingsDomainEXTSee Also
XrEventDataPerfSettingsEXT,PerfSettingsSetPerformanceLevelEXT,ThermalGetTemperatureTrendEXTEnum values:
- See Also:
-
XR_PERF_SETTINGS_DOMAIN_GPU_EXT
public static final int XR_PERF_SETTINGS_DOMAIN_GPU_EXTXrPerfSettingsDomainEXT - XrPerfSettingsDomainEXTSee Also
XrEventDataPerfSettingsEXT,PerfSettingsSetPerformanceLevelEXT,ThermalGetTemperatureTrendEXTEnum values:
- See Also:
-
XR_PERF_SETTINGS_SUB_DOMAIN_COMPOSITING_EXT
public static final int XR_PERF_SETTINGS_SUB_DOMAIN_COMPOSITING_EXTXrPerfSettingsSubDomainEXT - XrPerfSettingsSubDomainEXTSee Also
Enum values:
- See Also:
-
XR_PERF_SETTINGS_SUB_DOMAIN_RENDERING_EXT
public static final int XR_PERF_SETTINGS_SUB_DOMAIN_RENDERING_EXTXrPerfSettingsSubDomainEXT - XrPerfSettingsSubDomainEXTSee Also
Enum values:
- See Also:
-
XR_PERF_SETTINGS_SUB_DOMAIN_THERMAL_EXT
public static final int XR_PERF_SETTINGS_SUB_DOMAIN_THERMAL_EXTXrPerfSettingsSubDomainEXT - XrPerfSettingsSubDomainEXTSee Also
Enum values:
- See Also:
-
XR_PERF_SETTINGS_LEVEL_POWER_SAVINGS_EXT
public static final int XR_PERF_SETTINGS_LEVEL_POWER_SAVINGS_EXTXrPerfSettingsLevelEXT - XrPerfSettingsLevelEXTSee Also
PerfSettingsSetPerformanceLevelEXTEnum values:
- See Also:
-
XR_PERF_SETTINGS_LEVEL_SUSTAINED_LOW_EXT
public static final int XR_PERF_SETTINGS_LEVEL_SUSTAINED_LOW_EXTXrPerfSettingsLevelEXT - XrPerfSettingsLevelEXTSee Also
PerfSettingsSetPerformanceLevelEXTEnum values:
- See Also:
-
XR_PERF_SETTINGS_LEVEL_SUSTAINED_HIGH_EXT
public static final int XR_PERF_SETTINGS_LEVEL_SUSTAINED_HIGH_EXTXrPerfSettingsLevelEXT - XrPerfSettingsLevelEXTSee Also
PerfSettingsSetPerformanceLevelEXTEnum values:
- See Also:
-
XR_PERF_SETTINGS_LEVEL_BOOST_EXT
public static final int XR_PERF_SETTINGS_LEVEL_BOOST_EXTXrPerfSettingsLevelEXT - XrPerfSettingsLevelEXTSee Also
PerfSettingsSetPerformanceLevelEXTEnum values:
- See Also:
-
XR_PERF_SETTINGS_NOTIF_LEVEL_NORMAL_EXT
public static final int XR_PERF_SETTINGS_NOTIF_LEVEL_NORMAL_EXTXrPerfSettingsNotificationLevelEXT - XrPerfSettingsNotificationLevelEXTSee Also
XrEventDataPerfSettingsEXT,ThermalGetTemperatureTrendEXTEnum values:
- See Also:
-
XR_PERF_SETTINGS_NOTIF_LEVEL_WARNING_EXT
public static final int XR_PERF_SETTINGS_NOTIF_LEVEL_WARNING_EXTXrPerfSettingsNotificationLevelEXT - XrPerfSettingsNotificationLevelEXTSee Also
XrEventDataPerfSettingsEXT,ThermalGetTemperatureTrendEXTEnum values:
- See Also:
-
XR_PERF_SETTINGS_NOTIF_LEVEL_IMPAIRED_EXT
public static final int XR_PERF_SETTINGS_NOTIF_LEVEL_IMPAIRED_EXTXrPerfSettingsNotificationLevelEXT - XrPerfSettingsNotificationLevelEXTSee Also
XrEventDataPerfSettingsEXT,ThermalGetTemperatureTrendEXTEnum values:
- See Also:
-
-
Method Details
-
xrPerfSettingsSetPerformanceLevelEXT
xrPerfSettingsSetPerformanceLevelEXT.C Specification
XrResult xrPerfSettingsSetPerformanceLevelEXT( XrSession session, XrPerfSettingsDomainEXT domain, XrPerfSettingsLevelEXT level);Valid Usage (Implicit)
- The
XR_EXT_performance_settingsextension must be enabled prior to callingPerfSettingsSetPerformanceLevelEXT sessionmust be a validXrSessionhandledomainmust be a validXrPerfSettingsDomainEXTvaluelevelmust be a validXrPerfSettingsLevelEXTvalue
Return Codes
- On success, this command returns
- On failure, this command returns
- Parameters:
session- a validXrSessionhandle.domain- the processing domain for which the level hint is appliedlevel- the level hint to be applied
- The
-