View my account

Object Pool Size

Comments

6 comments

  • MartyG

    Hi Amitelle1337  There is little information on this subject.  My research indicates though that a librealsense C# wrapper file called RefCountedPooledObject.cs is involved in the pool object counting.  

    https://github.com/JBBee/librealsense/blob/2eb2f4e3162cbd8d637650cfd66912651c3db655/wrappers/csharp/Intel.RealSense/Base/RefCountedPooledObject.cs 

     

    0
    Comment actions Permalink
  • Amitelle1337

    I've read through almost the entire CSharp wrapper code but unfortunately, I cannot find anything related to my issue.
    I am assuming the information I need is located in the src of Libreasense.
    I guess for now I'll just have to keep my frame count low. :(
    Thanks anyway.

    0
    Comment actions Permalink
  • MartyG

    If you have 6 cameras attached to the same computer and streaming simultaneously, it is always going to be demanding to process.  Even for a four-camera multicam setup on the same machine, a powerful i7 processor is recommended.

    An alternative would be to divide the cameras between multiple small and affordable computing devices such as Raspberry Pis and then combine the data at a more powerful central computer.  Intel has an open source networking project to demonstrate this.  The guide uses Raspberry Pi by default but different computing devices can be substituted into it relatively easily.

    https://dev.intelrealsense.com/docs/open-source-ethernet-networking-for-intel-realsense-depth-cameras 

    0
    Comment actions Permalink
  • Amitelle1337

    I mean, I don't really care for the processing time, I just want the capturing time to be as fast as possible with ~30 frames from each camera (15 frames work fine right now, but I would like the bump up that frame number).
    The Raspberry Pi solution sounds good, but I am not sure this is in the scope I am looking for in this project.
    Another solution that came to my mind is to allocate new processes to capturing and a little bit of processing (Basically the same work the Raspberry Pis in your solution would do), thus each process will have its own object pool (That's assuming, of course, that the object pool is not global).
    Edit: Right now I am launching tasks for this purpose (To keep things as fast as possible) but, of course, the tasks are running in the same process, thus utilizing the same object pool.
    What do you think about this solution?

    0
    Comment actions Permalink
  • MartyG

    I am not a C# specialist and creating librealsense applications in that language can be more complex than developing in C++ or Python.  If you post a question on the RealSense GitHub forum then there should be a developer on the RealSense team there who can provide expert advice about a C# solution.  You can post a question there by visiting the link below and clicking on the New Issue button.

    https://github.com/IntelRealSense/librealsense/issues/ 

    0
    Comment actions Permalink
  • Amitelle1337

    I'll try that, thank you.

    Edit: After posting an issue on github, I've got my question answered.
    If anyone interested in the response, here is the issue: https://github.com/IntelRealSense/librealsense/issues/7201

    0
    Comment actions Permalink

Please sign in to leave a comment.