Log in or register to post comments

Android deployment has low FPS and becomes jittery when models/animations are present in scene!

January 18, 2019 - 5:18am #1

Hi!

So I've currently got a scene in which a low poly factory appears with basic animations playing when an Image Target is recognized.

The factory isn't that big and the animations are made within the Unity animator (basically just moving crates etc).

When I play the scene within the Unity Editor using a webcam it runs really smoothly and the camera movement is very clear.

The problem that I am having is that when I deploy to Android, as soon as the Image Target is recognized and the factory appears the camera movement becomes very delayed and the FPS drops pretty low.

I'm deploying to a Huawei P smart.

I basically just know if know if anyone has any idea if my problem is coming from the poor performance of my phone specifically or if its just that Android phones in general aren't quite up to the task of running AR with different models/animations yet?

Thanks for any feedback.

Android deployment has low FPS and becomes jittery when models/animations are present in scene!

January 22, 2019 - 2:37am #3

I am having the exact same Problem and been testing on Huawei P Smart and Huawei M3 Tablet (btv-w09) which runs even worse .

In the Profiler an entry shows Unaccounted Time between Input Process and Input Process taking up to 40ms at times.

This doesnt appear to be happening on the Samsung S8 that i also use for testing.

I did a lot of testing, basically disabling any script to the point that device is only showing the camera feed and one image target in the scene but that doesnt fix the performance problem.

The two biggest improvements came from disabling Device Tracking and/or disabling the Camera Feed - which defeats the whole point of making an AR App in the first place.

I can recommend switching Camera Mode to OPTIMIZE_FOR_SPEED - that helps a little bit.

This issue has first been reported more than half a year ago but there hasn't been any real follow up by Vuforia.

I guess we just have to live with this or switch to another AR Framework. This is probably something they can't fix or dont care to fix

Android deployment has low FPS and becomes jittery when models/animations are present in scene!

January 21, 2019 - 7:48am #2

It's hard to tell what's the exact cause because I don't have many informations.

If you disable your factory and only display a simple cube, do you have the same performance issue?

Could you also make sure that there is no crash happening every frame?

How many poly per mesh?

How many drawcalls / total poly count in your scene?

Optimization tricks

  • Try to disable every camera post-processing effects, reduce shadow quality, disable antialiasing.
  • Since you are on mobile, make sure to call this early: Application.targetFrameRate = 30; You might also want to go to Edit->Project Settings->Time-> set fixed Timestep to 0.0334 (you don't want physics to update @50fps with a 30 fps game)
  • Try to reduce the resolution a bit: Screen.SetResolution(Mathf.RoundToInt(Screen.width * 0.75f), Mathf.RoundToInt(Screen.height * 0.75f), true);
  • Disable VSync
  • Keep your dynamic light count to 1 or 0, bake your environment with lightmaps if possible.
Log in or register to post comments