AdaptiveQuality¶
Introduction¶
AdaptiveQuality is a feature provided by the WaveVR SDK runtime that adjusts CPU/GPU performance level automatically based on system workload. In addition, AdaptiveQuality can send events which let developers apply customized policies to adjust rendering quality to provide a better user experience. AdaptiveQuality can also adjust foveation strength automatically (AutoFoveation) to improve performance.
Note
AutoFoveation will override the settings in FoveatedRendering. Disable AutoFoveation if you want to apply the settings in FoveatedRendering instead.
- Feasible: level 4
- Effective: level 4
See more at WVR_IsAdaptiveQualityEnabled and WVR_EnableAdaptiveQuality.
EVENT¶
WVR_EventType_RecommendedQuality_Lower = 1004, /**< Notification recommended quality to Lower from runtime. */
WVR_EventType_RecommendedQuality_Higher = 1005, /**< Notification recommended quality to Higher from runtime. */
Check System event to know how to listen these system events.
API¶
bool IsAdaptiveQualityEnabled()
- return
- True means the AdaptiveQuality is enabled, False means the AdaptiveQuality is disabled.
bool EnableAdaptiveQuality(bool Enable, EAdaptivequalityMode Mode , bool SendQualityEvent, bool AutoFoveation)
- arguments
- Enable
- True means enable AdaptiveQuality, False means disable AdaptiveQuality.
- Mode
- When set to Quality Oriented, AdaptiveQuality will prioritize render quality over performance. When set to Performance Oriented, AdaptiveQuality will prioritize performance over render quality. Both Quality Oriented and Performance Oriented modes will enable SendQualityEvent and AutoFoveation. When set to Customization, you can enable/disable SendQualityEvent/AutoFoveation manually.
- SendQualityEvent
- True means enable SendQualityEvent, False means disable SendQualityEvent. Only available when Mode is set to Customization.
- AutoFoveation
- True means enable AutoFoveation, False means disable AutoFoveation. Only available when Mode is set to Customization.
- return
- True means set successfully, False means set failed.
Project Settings¶
Quality Oriented mode is enabled by default in project settings. For more project settings, see Optional Project Settings.