Closed dt-developer1 closed 3 years ago
The driver does NOT publish data when the topic is not subscribed (clever at it saves cpu/power when not needed). So the 1 % you see is just idle.
70 % can be normal for three cameras depending on image size, color mode etc. This process is always a high cpu load (try to use the ueye demo from ids and see what that one causes). It is hard to understand if this is really a problem when we do not know anything about the computer (cpu). Also it is hard to guess what "some other command" means. I further recommend to read about unix load and cpu usage values to understand what those numbers mean (it is strange how something can be above 100 % but it makes sense once you understand it)
I recommend htop
over top
- but that's just a personal thing
Subscribing via python might not be a good idea: The topics will then be published via TCP and not shared memory (read the ros docu about nodes and nodelets). Image processing should be done in c++ for speed reasons.
I am using 3 IDS Ueyecameras with This package. I am publishing all data to ros master and tested the live streams using rqt_image_view and with simaple subscriber python code.
All 3 cameras with publishing only taking 1 % CPU. But using python simple subscriber sample code to view image taking 70% CPU. Alos , tried with rqt_)imageview, it also taking same amount of CPU. "top" command showing ueye nodelet is taking 500% cpu and some other command showing 60% of total CPU used.
How to reduce this?
OS : Ubuntu 18.04 ROS : Melodic