- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I want to use TBB's scheduler to manage data reading and processing with multiple cameras,so that each camera performs its functions in a seperate thread. Most of my vision code is using Intel OpenCv.
Vision applications often lack responsiveness and scalability. It is common to see applications that periodically hang and stop responding.The reason applications hang and have poor responsiveness is almost always due to performing camera read operations,and then routing this high volume of data to multi-step algorithms.
When an application's performs ,for example two camera read operation simultaneously, the application is basically giving up control of the thread's processing to the devices. The application's responsiveness then becomes unpredictable.When threads are suspended waiting for requests to complete, the application tends to create more threads in an attempt to accomplish more work. creating, scheduling, and destroying a thread requires time and memory and can actually hurt performance rather than improve it.
Also if one of the camera fails to give data,the whole application crashes.
Can I use TBB in combination with OpenCv ,so that the thread management issues are taken care of by TBB ?
Any hint will be appreciated !!
Vision applications often lack responsiveness and scalability. It is common to see applications that periodically hang and stop responding.The reason applications hang and have poor responsiveness is almost always due to performing camera read operations,and then routing this high volume of data to multi-step algorithms.
When an application's performs ,for example two camera read operation simultaneously, the application is basically giving up control of the thread's processing to the devices. The application's responsiveness then becomes unpredictable.When threads are suspended waiting for requests to complete, the application tends to create more threads in an attempt to accomplish more work. creating, scheduling, and destroying a thread requires time and memory and can actually hurt performance rather than improve it.
Also if one of the camera fails to give data,the whole application crashes.
Can I use TBB in combination with OpenCv ,so that the thread management issues are taken care of by TBB ?
Any hint will be appreciated !!
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
My understanding is that TBB assumes its tasks are running at full throttle, so it will not steal any work and dispatch a software thread to keep a hardware thread busy. The advice I've heard is to do the I/O yourself and then assign computational work to a background task.
![](/skins/images/7FC17B7B85029576C25F1E43CE255B51/responsive_peak/images/icon_anonymous_message.png)
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page