Arcore-unity-sdk: Can we expect multithreaded rendering and higher frame rates in a future update?

Created on 14 Mar 2018  路  11Comments  路  Source: google-ar/arcore-unity-sdk

Booth these features might solve the problems we encounter when trying to build a better GearVR/Daydream app using ARCore for tracking the head movement in 6DoF.

feature request

Most helpful comment

Mike from Unity here. We implemented support for multi-threaded rendering in 2018.2 and backported it to 2017.4 which is one of our Long Term Support (LTS) versions. We did not (and won't) backport it to 2018.1 since the expectation is that any user of 2018.1 would upgrade to 2018.2.

You can read more about how our releases work here: https://blogs.unity3d.com/2018/04/09/new-plans-for-unity-releases-introducing-the-tech-and-long-term-support-lts-streams/

All 11 comments

Hi, Thanks for the feature request. Multithreading rendering is a feature requested by many developers, but I cannot share any timelines right now.
If you need a higher frame rate, I believe you can change the configuration MatchCameraFramerate to false, that way you won't be stuck to 30 FPS for the rendering of your objects, animations, etc., although the background will still be updated at 30 FPS.
Stay tuned for future releases!

Thanks for the reply.
Yes the background being updated every 30 FPS is the problem I can't solve on my own. 60 FPS for the background would be ideal for our project. Would be a nice feature to allow for 60 FPS updates by the ARCore Device/Camera.
You probably tested all kinds of resolution and frame rate settings to end up with your current settings. I am wondering why you choose 30 FPS instead of 60 FPS. Is doubling the FPS close to doubling the performance needed?

Can confirm that multithreaded rendering would help dramatically to reliably run an AR session and record the device's screen at the same time. Some Galaxy S7s can't run my app smoothly when I have the recording capabilities baked in, and multithreaded rendering would solve this. The recording plugin (NatCorder) is built for multi threaded rendering anyway.

I build a workaround which improves the issue of only having 30fps and allows me to run games in 60fps even in VR.
For 60fps I do the following:
I record the position data I receive from the camera and spread it over two quicker frames. For that I use Vector3.Lerp(pos, goal ,0.5f); . This way I introduce half a frame of lag because I don't update to the final position immediately. It turns out this is not even noticeable in VR and does not need any extra resources which is great for my application which runs at it's thermal maximum anyway. :D
I would still prefer to get the full 60fps but for now I am happy with the improvements I got through this trick.
If someone needs the code, my project is open source.
https://github.com/ChristophGeske/ARCoreInsideOutTrackingGearVr

+1 Hoping for more information about multithreading and a 60fps camera.

We heard your feedback! Multithreaded rendering is now supported with the ARCore SDK when using Unity 2017.4f9+ :)

We heard your feedback! Multithreaded rendering is now supported with the ARCore SDK when using Unity 2017.4f9+ :)

Hey, Do you have any ETA on this?
Cheers!

@small-potatoes Thank you! I'm the developer of NatCorder and I was just about to offer to help you all implement multithreaded rendering. Devs trying to record ARCore gameplay will significantly benefit from this.

@small-potatoes or @olokobayusuf Can you elaborate? On Unity 2018.1 with Unity ARCore SDK version 1.6, but still getting the same "ARCore Does Not Support Multi-threaded Rendering" error when trying to build with multi-threaded rendering enabled.

@mathiassiig Not too sure about this one, I was going off @small-potatoes announcement that they added support.

Mike from Unity here. We implemented support for multi-threaded rendering in 2018.2 and backported it to 2017.4 which is one of our Long Term Support (LTS) versions. We did not (and won't) backport it to 2018.1 since the expectation is that any user of 2018.1 would upgrade to 2018.2.

You can read more about how our releases work here: https://blogs.unity3d.com/2018/04/09/new-plans-for-unity-releases-introducing-the-tech-and-long-term-support-lts-streams/

Was this page helpful?
0 / 5 - 0 ratings