Application SpaceWarp
Application SpaceWarp (AppSW) is an optimization technique for developers that allows applications to render at half the actual display refresh rate, freeing up additional computing power for appropriate content. In testing, AppSW has been shown to provide up to 70% more computing power to applications with virtually no perceptible flaws. When developers turn on AppSW during the development and design phase, the system will extrapolate and re-project frames based on the motion vector and depth information of the original data in the application, and automatically synthesise one frame of the original rendered image into multiple new frames to reduce the original output frame rate of the device, lower the load and power consumption of the device, and ultimately break through the arithmetic limitations to achieve a more lifelike and better picture performance on YVR devices, which is close to that of PCVR. YVR devices can achieve more realistic and better image performance.
Environment Requirements
Unreal Engine Version: Unreal Engine YVR Branch
SDK Version: Unreal SDK
Device: YVR1 or YVR2
System Version: 1.2.5.x and above
Enable AppSW
Please refer to the following steps to enable the AppSW function.
Open the build macro in the SDK, find the YvrXRHMD.Build.cs file and add the following code:
PublicDefinitions.Add("YVR_APPSW");
Enable both Mobile Multi-View and Vulkan:
Under, Engine > Rendering > VR, select Support Mobile Application Space Warp:
Enable AppSW:
Enable with Blueprint, you can dynamically enable AppSW features in game logic and interactions using blueprints. An example of a blueprint is shown below:
If you need your application to have AppSW enabled from the start, under Plugins > YVR XR > General, select Use Space Warp:
Known Issues
When using the AppSW feature, your app may experience some rendering issues. Please refer to the following scenarios and instructions to resolve the issues:
If the background within the scene is very clean and contains elements such as straight lines, grids, etc., AppSW may cause image distortion, e.g., distorted straight lines. If the image is distorted, keep debugging and adjusting the background until a satisfactory result is achieved.
If the scene contains some high-speed rotating objects, distortion artefacts may appear around the objects when AppSW is turned on, which can be solved by reducing the rotation speed of the objects.
If there are unexpected pauses in individual elements of the scene or ripples on the screen, this is generally due to inaccurate data in the motion vectors for the following reasons:
If the motion vector buffer does not show the motion of a moving part of the scene, this can cause stutters because moving objects seem to stay in place in the composite frame.
If the motion vector buffer shows motion in the motionless parts of the scene, ripples are created because stationary objects move in the composite frame.