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.

Unreal API Level

  • 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

../_images/AdaptiveQualityAPIs.png

bool IsAdaptiveQualityEnabled()

  • return
    True means the AdaptiveQuality is enabled, False means the AdaptiveQuality is disabled.

bool EnableAdaptiveQuality(bool enable, bool SendQualityEvent, bool AutoFoveation) [Deprecated in SDK4.0.0]

  • arguments
    enable
    True means enable AdaptiveQuality, False means disable AdaptiveQuality.
    SendQualityEvent
    True means enable SendQualityEvent, False means disable SendQualityEvent. SendQualityEvent only works if enable is true.
    AutoFoveation
    True means enable AutoFoveation, False means disable AutoFoveation. AutoFoveation only works if enable is true.
  • return
    True means set successfully, False means set failed.

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.

../_images/AQPS.png