arcore-unity-sdk icon indicating copy to clipboard operation
arcore-unity-sdk copied to clipboard

No way to get 60Hz device pose, even with Match Camera Framerate off.

Open Kuraperunat opened this issue 6 years ago • 6 comments

Hello,

I'm trying to get updated camera position without the 30fps camera limit, but it seems that the match camera framerate toggle doesn't do anything. I've made sure to disable Vsync and I can see that the update calls are made at 100-200fps but the position returned by the Frame.pose.position only gets updated around 30fps.

Are there any workarounds/fixes?

Kuraperunat avatar Aug 03 '18 11:08 Kuraperunat

Hi, disabling MatchCameraFramerate will not block the rendering at 30 fps, in case that's necessary for you (for example if you have animations), but will not increase the rate of ARCore tracking. Let me know if this solves your question.

pablisho avatar Aug 03 '18 17:08 pablisho

I see. At least in the first versions of ARCore disabling MatchCameraFramerate allowed to take advantage of higher framerate tracking, which made it possible to achieve smooth 60fps+ motion for virtual contents. In case camera was in use the background would update at 30fps, but the virtual contents and tracking would still update at a higher framerate.

Edit: Now that I think of it the effect was likely due to the gyro somehow augmenting the positional/rotational tracking as the camera will obviously run only at 30fps.

What's the correct way to achieve this nowadays?

Kuraperunat avatar Aug 03 '18 17:08 Kuraperunat

Hi, ARCore tracking has always been at 30fps. There's no current way to get higher framerate for the tracking, only the rendering. Let me know if that answers your question.

pablisho avatar Aug 06 '18 16:08 pablisho

ARCore tracking has always been at 30fps

Is this for sure? We made an ARCore app back when the tech launched in fall 2017 and it has an AR view with virtual contents overlayed on top of the camera view running at 30fps tracking, and an indoor view with only virtual contents running at 60+fps tracking.

The framerate switch back then was tied to the match camera framerate toggle. Even to this date this specific app behaves the same with Android 8.1 and the newest version of ARCore app on the phone. The app was built around a year ago using Unity 2017.1 and whatever ARCore SDK was available back then.

Do I understand correctly that this higher framerate tracking functionality has been completely removed and I'm stuck with an old version of ARCore SDK + Unity if I want to get tracking at higher than 30fps?

Kuraperunat avatar Aug 07 '18 08:08 Kuraperunat

@Kuraperunat So there is a way of doing 60 fps? I really do not like ARcore compared to arkit, cause of how smooth it is there.

Google developers, is this going to ever be added?

TheSeanLavery avatar Mar 29 '19 22:03 TheSeanLavery

google added support for 60fps only for pixel devices? clearly there are many devices that are capable of this, but buy a pixel if you want to match an iPhone 6S -_- https://developers.google.com/ar/discover/supported-devices

b29b avatar Sep 01 '20 06:09 b29b