Items with no label
3335 Discussions

D435 uses much processing power & advanced parameters question

DLjub
Beginner
1,415 Views

Hello,

 

I have just received a new D435 camera and started testing it. While looking at the different parameters for the camera I was using realsense viewer and noticed that, when I turn on the stream from RGB camera, all the cores jump to almost a maximum usage. I have Intel i7-7700HQ, 2.80GHz × 8 so my computer should be up to the task. I first thought it was just because I was using realsense viewer, but it turned out that the same thing happens when I use ROS wrapper and start the stream from RGB camera. After disabling RGB processing, processor usage reduced a little, but not nearly enough.

 

My question is, why does turning on RGB stream uses so much processing power and is there a way to get around it?

 

My use case requires a lot of algorithms and processes to run in parallel and if the camera uses this much processing power, I am afraid that I will not be able to meet all the requirements.

 

Also, I've found an answer somewhere in github issues that there is no explanation on how one of the advanced parameters effect another, but I am interested is there at least explanation what does every parameter mean? Some of the used abbreviations (RAU, SLO, HDAD, AE, DS) are not so clear (at least to me) and any help would be greatly appreciated.

I am looking forward to Your answer and Thank You in advance!

Kind regards

0 Kudos
6 Replies
MartyG
Honored Contributor III
491 Views

The RealSense SDK software has a couple of Known Issues related to CPU load that are being worked on. They should be fixed in subsequent versions of the SDK.

- CPU utilization increases with Projector switched off

- The Viewer and the visual examples CPU utilization is high, when streaming depth or color

Regarding the Viewer settings: unfortunately I was unable to locate documentation for them to meet your needs despite an extensive search. A member of the Intel support team may be able to confirm to you later whether such documentation for the Viewer settings exists yet.

DLjub
Beginner
491 Views

Thank You, MartyG!

I am aware that there is still much work to be done, but the load on the processor when streaming RGB really surprised me.

 

Depth stream does not take nearly as much load as the RGB does, at least in my experience. Also, switching off the projector helps a little, but not nearly enough.

 

It remains to be seen how the things will evolve.

Thank You for the provided information!

0 Kudos
MartyG
Honored Contributor III
491 Views

You are very welcome!

If you are not already using SDK version 2.10.1 (the most recent release) then I would recommend trying that, as it contains a setting that disables the 'OpenMP compile flag' by default to reduce CPU load.

https://github.com/IntelRealSense/librealsense/wiki/Release-Notes Release Notes · IntelRealSense/librealsense Wiki · GitHub

0 Kudos
DLjub
Beginner
491 Views

Thank You very much!

I've pulled all the changes from the master and compiled again, but with disabled 'Open MP flag'. It helped a lot. Now, processing load makes much more sense.

Now, let's wait for the answer regarding advanced parameters.

0 Kudos
MartyG
Honored Contributor III
491 Views

I'm very glad I could help.

I had another look through the source code of the Viewer's files in relation to its Advanced menu options but still could not find any notes to explain the functions. In the meantime, you may be interested in the documentation for custom calibrations of the camera.

0 Kudos
MChin3
Novice
491 Views

Another option that would give you some control over how many threads are used, is to re-enable openmp (-DBUILD_WITH_OPENMP=true) and then set either of the environment variables OMP_DYNAMIC (TRUE) or OMP_NUM_THREADS (to some value less than the number of cores/threads your system has). These variables can also be set in the code (e.g., omp_set_num_threads(2)).

Visual Studio references but I think they are same/similar on other platforms.

https://msdn.microsoft.com/en-us/library/xh7e1zba.aspx 4.2 OMP_NUM_THREADS

https://msdn.microsoft.com/en-us/library/y2s46ze1.aspx 4.3 OMP_DYNAMIC

0 Kudos
Reply