PowerSavings to Boost. This abstraction supports multiple chipsets and lets apps receive performance boosts (such as the 7% GPU boost for GPU level 4 in v49 OS) without rebuilding.
ProcessorPerformanceLevel enum, exposed through these engine-specific functions:| Engine | Function |
|---|---|
Unreal | UOculusXRFunctionLibrary::SetSuggestedCpuAndGpuPerformanceLevels (exposed in Blueprint) |
Unity | OVRPlugin::suggestedCpuPerfLevel, OVRPlugin::suggestedGpuPerfLevel |
Native | ovrp_SetSuggestedCpuPerformanceLevel, ovrp_SetSuggestedGpuPerformanceLevel |
Spatial SDK | spatial.setPerformanceLevel |
ProcessorPerformanceLevel. The OS dynamically adjusts levels within a range, staying as low as possible while maintaining the target frame rate. This automatically extends battery life during less-demanding scenes.| ProcessorPerformanceLevel | CPU level range | GPU level range |
|---|---|---|
PowerSavings | 0 to 4 | 0 to 4 |
SustainedLow | 2 to 4 | 1 to 4 |
SustainedHigh | 4 to 4* | 3 to 5 |
Boost | 4 to a device-specific maximum** | 3 to 5 |
SustainedHigh. Prior to 0.7.0, the default was SustainedLow. This improves app performance at the cost of battery life.SustainedHigh CPU level range can be increased, depending on the headset and enabled systems. See Boosting CPU and GPU Levels for details.| Configuration | CPU level range |
|---|---|
Default | 4 to 4 |
Quest 2, Quest Pro, Quest 3 or 3S with CPU level trading | 5 to 5 |
Quest 2 or Quest Pro with dual-core mode | 6 to 6 |
ProcessorPerformanceLevel.Boost uses the same CPU level range as SustainedHigh, including its headset-dependent maximum. During short periods when higher CPU throughput is needed, the system boosts the clocks.| CPU level | Clock speed |
|---|---|
0 | 0.98 GHz |
1 | 1.34 GHz |
2 | 1.65 GHz |
3 | 1.96 GHz |
4 | 2.30 GHz |
| GPU level | Clock speed |
|---|---|
0 | 257 MHz |
1 | 342 MHz |
2 | 414 MHz |
3 | 515 MHz |
4 | 670 MHz |
| CPU level | Availability |
|---|---|
0-4 | Always available |
| GPU level | Availability |
|---|---|
0-4 | Always available |
ProcessorPerformanceLevel.| CPU level | Clock speed |
|---|---|
0 | 0.71 GHz |
1 | 0.94 GHz |
2 | 1.17 GHz |
3 | 1.38 GHz |
4 | 1.48 GHz |
5 | 1.86 GHz |
6 | 2.15 GHz |
8 | 2.42 GHz |
| GPU level | Clock speed |
|---|---|
0 | 305 MHz |
1 | 400 MHz |
2 | 442 MHz |
3 | 490 MHz |
4 | 525 MHz |
5 | 587 MHz |
| CPU level | Availability |
|---|---|
0-4 | Always available |
5 | Available if dual-core mode is not enabled |
6 | Available if dual-core mode is enabled |
8 | Available if the CPU Boost is enabled. See CPU Boost Hint |
| GPU level | Availability |
|---|---|
0-4 | Always available |
5 | Available if dynamic resolution is enabled |
ProcessorPerformanceLevel, and may be overridden if certain OS features are running in the background (i.e. casting). See Logcat stats definitions to learn how to track these behaviors.| CPU level | Clock speed |
|---|---|
0 | 0.71 GHz |
1 | 0.94 GHz |
2 | 1.17 GHz |
3 | 1.38 GHz |
4 | 1.48 GHz |
5 | 1.86 GHz |
6 | 2.15 GHz |
8 | 2.42 GHz |
| GPU level | Clock speed |
|---|---|
0 | 305 MHz |
1 | 400 MHz |
2 | 442 MHz |
3 | 490 MHz |
4 | 525 MHz |
5 | 587 MHz |
| CPU level | Availability |
|---|---|
0-3 | Always available |
4 | Available if the application does not enable passthrough, eye tracking, face tracking, body tracking, or gaze-based foveated rendering features |
5 | Available if CPU level 4 is available, and dual-core mode is not enabled |
6 | Available if CPU level 4 is available, and dual-core mode is enabled |
8 | Available if the CPU Boost is enabled. See CPU Boost Hint |
| GPU level | Availability |
|---|---|
0-3 | Always available |
4 | Available if the application does not enable passthrough, eye tracking, face tracking, body tracking, or gaze-based foveated rendering features |
5 | Available if dynamic resolution is enabled |
ProcessorPerformanceLevel, and may be overridden if certain OS features are running in the background (i.e. casting). See Logcat stats definitions to learn how to track these behaviors.| CPU level | Clock speed |
|---|---|
0 | 0.69 GHz |
1 | 1.09 GHz |
2 | 1.38 GHz |
3 | 1.65 GHz |
4 | 1.92 GHz |
5 | 2.05 GHz |
6 | 2.21 GHz |
8 | 2.36 GHz |
| GPU level | Clock speed |
|---|---|
0 | 285 MHz |
1 | 350 MHz |
2 | 456 MHz |
3 | 492 MHz |
4 | 545 MHz |
5 | 599 MHz |
6 | 640 MHz |
| CPU level | Availability |
|---|---|
0-3 | Always available |
4 | Available if the application does not enable passthrough features |
5 | Available if CPU level 4 is available, and CPU and GPU level trading is set to -1 |
6 | Available if the CPU Boost is enabled. See CPU Boost Hint |
| GPU level | Availability |
|---|---|
0-2 | Always available |
3-4 | Available if the application does not enable passthrough features |
5 | Available if GPU level 4 is available, and CPU and GPU level trading is set to +1, or dynamic resolution is enabled |
6 | Available if GPU level 4 is available, and CPU and GPU level trading is set to +1, and dynamic resolution is enabled |
ProcessorPerformanceLevel, and may be overridden if certain OS features are running in the background (i.e. casting). See Logcat stats definitions to learn how to track these behaviors.| CPU level | Clock speed |
|---|---|
0 | 0.81 GHz |
1 | 1.23 GHz |
2 | 1.52 GHz |
3 | 1.79 GHz |
4 | 2.09 GHz |
5 | 2.15 GHz |
6 | 2.29 GHz |
8 | 2.71 GHz |
| GPU level | Clock speed |
|---|---|
0 | 318 MHz |
1 | 366 MHz |
2 | 495 MHz |
3 | 576 MHz |
4 | 633 MHz |
5 | 690 MHz |
| CPU level | Availability |
|---|---|
0-3 | Always available |
4 | Available if the application does not enable passthrough features |
8 | Available if the CPU Boost is enabled. See CPU Boost Hint |
| GPU level | Availability |
|---|---|
0-2 | Always available |
3-4 | Available if the application does not enable passthrough features |
ProcessorPerformanceLevel, and may be overridden if certain OS features are running in the background (for example, casting). See Logcat stats definitions to learn how to track these behaviors.