Loading of 16 Intel real sense D455 cameras
Hello !
I'm working on a project where I use 16 cameras D455. When I start them, all the cameras works but the starting time is too long. That takes about 10 minutes to start all of them. I looked for where the problem came from and I noticed that the too long starting time was due to the starting of their pipeline. For first camera loadings the starting of the pipeline is very quick but for last ones, it is very long. I also noticed that the cpu was used at nearly 100% during the starting of the cameras and after that went down.
What could I do to reduce the starting time ? Should I use a more powerful cpu ?
Thank you very much.
-
Hi P Landerouin Could you provide information about the questions below, please?
- Which computer / computing device are you using? (PC, Raspberry Pi, Nvidia Jetson, etc)
- Are you using the D455 cameras in the RealSense Viewer tool or in an application that you have created yourself?
- If it is an application that you have created yourself, are you using poll_for_frames() to retrieve the camera frames instead of wait_for_frames() ? For control of multiple cameras by a single application, use of poll_for_frames() is recommended in combination with using sleep periods to control when to put the CPU to sleep in order to prevent the CPU usage from maximizing to 100%. Further information about this can be found in the link below.
https://github.com/IntelRealSense/librealsense/issues/2422#issuecomment-423254709
-
Thank you for the answer. It is on a PC, on a application I created in C# (WPF). For my project I used the C# library intel.realSense.dll and realsense2.dll.
The trouble happen exactly in the piece of code just under.
cfg.EnableDevice(sn);
cfg.EnableStream(Stream.Depth, 848, 480, Format.Z16, depthFrameRate);
cfg.EnableStream(Stream.Color, 848, 480, Format.Rgb8, colorFrameRate);pipeline = new Pipeline();
pp = pipeline.Start(cfg); //This line takes very much time
Ok I will try to use poll_for_frame().
// Start streaming with Json configuration
pp = pipeline.Start(cfg); -
Could you try using ctx.QueryDevices() in your script like in the C# multicam example in the link below and see whether it improves performance?
https://github.com/IntelRealSense/librealsense/issues/3432#issuecomment-472570380
QueryDevices() can be used to automatically generate a list of all attached cameras.
Please sign in to leave a comment.
Comments
3 comments