PTCInc / vuforia-engine

Bug and feedback issue tracker for the Vuforia Engine SDK
https://developer.vuforia.com
20 stars 0 forks source link

Ground Plane camera feed lags in Android #140

Closed thechargedneutron closed 2 months ago

thechargedneutron commented 5 months ago

Summarize the bug:

I made a basic ground plane app and deployed it to an iPhone and an Android phone. The iPhone quality is very good whereas I see a lag in the android camera feed on the app. Is there a solution to this?

Here are my device details

  1. iPhone 13 Pro (works very well)
  2. Samsung galaxy M33 5G running android 14

Here is the recorded video from two devices:

  1. iPhone - very stable response to camera motion - https://drive.google.com/file/d/13vZHYf6WuV3uO6VyMN_dKMxuuuzaa-tc/view?usp=sharing
  2. Android - the camera feed lags the camera motion - https://drive.google.com/file/d/1GEaQhWreuC_wKgJd4Ndwn-VpaXCcXkFt/view?usp=sharing

I feel this lag can cause eye fatigue with even minimal usage. Let me know if any more details are required.

Related bug report: https://forum.unity.com/threads/recurring-limitation-camera-feed-lag-in-android.517229/

If there are any settings or options that I can enable to improve the camera feed, that will be appreciated.

ptc-thesbyro commented 5 months ago

Hi,

Could you try to set the camera mode to optimize for speed: See the unity guide or native guide on setting the camera mode.

That should minimize the impact Vuforia Engine has on the device. Note that the iOS devices runs on 60 fps, while Android devices run on 30 fps. source, which may be a factor in the experienced differences.

Hope it helps,

thechargedneutron commented 5 months ago

Hi @ptc-thesbyro, setting the optimization for speed does improve the lag. There is still a slight lag between the mobile movement and the feed movement. Are there other optimizations that can be done? If not, I guess it's the limitation of the ARCore and android phones, in general.

ptc-epassaro commented 5 months ago

@thechargedneutron would it be possible for you to share with us the steps you used to set up your project? Also, which versions of Unity and Vuforia are you using? And are you also importing the ARCore XR Plugin or the ARFoundation packages in your project?

thechargedneutron commented 5 months ago

Hi @ptc-epassaro,

Unity version: 2022.3.20f1 Vuforia version: 10.21.3

I just imported the Vuforia package into the project and then developed the app. I did not import either ARCore XR Plugin or the ARFoundation packages separately -- not sure if that is loaded by default when importing Vuforia. I just have a ground plane in the scene along with a few 3D models that I want to show on top.

Let me know if any more details are required.

ptc-thesbyro commented 4 months ago

Hi @thechargedneutron, apologies for not getting back to you sooner.

The Vuforia Engine will import any dependencies it needs. AR Foundation and ARCore XR Plugin are not included in those dependencies.

The optimize for speed camera mode is essentially the only dedicated method we have to reduce the performance load by the Vuforia Engine.

My best advice would be to monitor the device's performance with a profiler at runtime and see if there are computational processes affecting the device.

Hope it helps,

ptc-thesbyro commented 2 months ago

This issue will be closed due to inactivity. You can reopen it if the problem persists.