RGB camera capture without asynchronization in Unity

Hello, XREAL dev teams.

I have a question in using RGB camera of Nreal Light device.
Actually, I have watched and read the tutorials of RGBCamera-capture, and I implemented my Unity scene on top of it.

However, there is mutual exclusion of using RGBcamera resource.
In my case, this RGB camera capture is not run in real-time.

Here’s my question:
How can I use RGB camera capture in 50~60 fps speed.
Is there any way to use RGB camera more faster without mutual exclusion?
(Or just another way to use RGB camera capature more faster than now)

Thanks.

Hi, kenzo. Could you please give me more details about ‘mutual exclusion’? And for the capturing refresh rate, I’m afraid that it cannot be improved to 50-60, the fps should be up to about 30.

Thank you for replying.
In this issue, I followed the demo of NRSDK:
NKRSDK > Scripts > Capture > Models > PhotoCaptureExample.cs

  • I’m using NRSDK version 1.7

In that code, function TakeAPhoto() calls TakePhotoAsync() when isOnPhtoProcess is false.

In my experience, the camera capture is not fast as much fps 50-60 due to mutual exclusion in TakeAPhoto().

(Already, you said that it cannot be improved to 50-60, but I want to take a photo as fast as possible)

Thanks.

        void TakeAPhoto()
        {
            if (isOnPhotoProcess)
            {
                NRDebugger.Warning("Currently in the process of taking pictures, Can not take photo .");
                return;
            }

            isOnPhotoProcess = true;
            if (m_PhotoCaptureObject == null)
            {
                this.Create((capture) =>
                {
                    capture.TakePhotoAsync(OnCapturedPhotoToMemory);
                });
            }
            else
            {
                m_PhotoCaptureObject.TakePhotoAsync(OnCapturedPhotoToMemory);
            }
        }

Thanks for the details. Please try to include the if-else sentence after the isOnPhotoProcess if you think it influences the capturing speed. But it cannot reach to 50-60fps.

1 Like