Open Tombliboo96 opened 1 month ago
What's in my mind is you can set enableTypedArray
to true when creating a subscription (the default is true
), it will avoid allocating memory when passing the data across the language boundary from C++ to JavaScript, please check the doc https://robotwebtools.github.io/rclnodejs/docs/0.26.0/Node.html
rclnodejs
doesn't support memory sharing, please also check out some discussion here.
Description Hello, may I ask if there are any optimization methods for receiving high-pixel image data streams in SensorMsg? I am currently using rclnodejs to receive C++ parse a 12000000 pixel Uint8array. The speed is slow, about 6-9FPS. I found that the deserialization operation in Wrapper is slow.
this._wrapperFields.data.copyRefObject(refObject.data);
At the same time, when I want to send image data through ROS memory sharing, the deserialization code for Uint8array in ImageWrapper generated from MSG files takes a long time. Is there any operation that can quickly receive a large amount of image data?
Steps To Reproduce
Expected Behavior
Actual Behavior