Low fps due to [Unrecorded time between & Graphics.PresentAndSync] using Vuforia with Unity

I recently decided to upgrade to Vuforia 6.2.10 and also upgrade to Unity 5.6.1f1. I am currently working on a project for our client, however I am facing a big problem with the above installation.

Description:
When the application runs in the Unity editor on Windows, it is really smooth and everything works as expected (also tested in the Unity profile ). When the app is built for an Android device , fps drops to 10-20 depending on the device. Use the Unity profiler to explore the issue in more detail (see attached photo). I noticed two big problems:

  • There is an unknown process: Unaccounted time between: InputProcess and InputProcess

  • A known process causes large lagging spikes by lowering the fps called: Graphics.PresentAndSync

In the photo, you can see that these two processes combine a total of 70% (sometimes more) of the device's processor power. I didn't have this problem with previous versions of Vuforia .
Could you please help me to solve this problem?


Steps to reproduce the problem

  • Update Unity to release: 5.6.1f1.

  • Create an empty project (3D).

  • Remove the camera and light from the scene (to make it completely blank).
  • Download and import Vuforia SDK version : 6.2.10.
  • Drag the AR camera pre-assembly into the scene in Unity .
  • Enter the license in Vuforia config in Unity .
  • Build and run on Android device .

Android devices tested

  • Lenovo k3 Note (~ 13fps).
  • Xiaomi Redmi 4A (~ 15 fps).
  • Samsung Galaxy S5 (~ 20fps).
  • Lenovo Phab 2.0 Pro (~ 30fps).

PS: There is a very similar problem in Vuforia . forums, however the suggested solution didn't help. The post can be found here: https://developer.vuforia.com/forum/unity-extension-technical-discussion/graphicspresentandsync

PSS: The quality parameters for the project are as low as possible.

Profiling photo: enter image description here

+3


source to share





All Articles