On Thu, 2010-09-09 at 21:39 -0700, Josh Faust wrote:
>
> A while back, I did some basic profiling of the image pipeline
> and ...
>
> Images are unfortunately just about the best case for serialization --
> they end up as mostly just a single big memcpy. There is a
> deserialization improvement that may be possible though, which I just
> codified in a ticket: https://code.ros.org/trac/ros/ticket/3000
We set the problem aside, but at the time the issues was that
camera -> image_proc -> opencv + image_view
required at least 2 serializations and 3 deserializations for
640x480x15fps for uncompressed color images. Not to mention the RGB ->
BGR conversion imgMsgToCv in cv_bridge insist(ed/s) on. On an Atom
processor it used a significant percentage of the CPU just to deal with
images, perhaps due to the differences in memory architecture.
Has anyone or is anyone currently working on converting image_proc and
image_view to nodelets? color_calib and image_rotate would also be good
nodelet image pipeline candidates.