-
Notifications
You must be signed in to change notification settings - Fork 593
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[CPU usage] High CPU usage when rqt_image_view
subscribes to compressed topics
#297
Comments
@flynneva Thanks a lot, found the cause of the problem: |
@zymouse there is already another issue related to improving the performance of the If you are having issues with large-bandwidth topics, have you looked into enabling zero-copy for your image pipeline? Might be worth looking into. I'm not sure if |
@zymouse I can btw. confirm that this is an issue. I figured out with cyclone dds that with 4x 720P Webcams the raw image topics try to transfer ~700MB/s - on the loopback interface. At this point the kernel starts dropping packages (on all interfaces) which results into a lot of weird behavior. But this behavior will also depend on the used DDS distribution. Some will use shared memory communication per default for nodes on the same system, some won't per default, some don't even have this feature. |
@firesurfer |
recognize
Test results
Possible issues arising
Multiple usb cameras are used in autopilot.
When multiple cameras are used at the same time, the usb_cam driver will use up most of the system CPU resources. Affecting the whole autopilot system
Reason for high compressed image usage: Because
image_raw
has a large transmission bandwidth (190MB/s), the compressed image usage will also be very high.suggestion
Subscribe to
image_raw
: Because of the large transmission bandwidth (>100MB/s), the frequency of subscribing toimage_raw
is reduced. This affects the autopilot perceptionSubscribe to
/image_raw/compressed
: affects image quality and high CPU usage.We are using opencv's resize method:
Posted by: 1920x1080 -> 540x960
Subscriber: 540x960 -> 1920x1080
This way to avoid - large transfer bandwidth causing frequency degradation and compression increasing CPU usage - image quality degradation issues
ultimate
Thank you very much, a great driver!
The text was updated successfully, but these errors were encountered: