You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This might be more a question than a feature, but I am not getting help anywhere else. I apologize in advance.
I've got a subscription to a camera (sensor_msgs/msg/Image) as I am using rclnodejs to make a real-time camera display. Even though the topic publishing the camera image is approximately 30 fps, I receive approximately 8 fps. Both publisher and subscriber are on the same host (my laptop), no network involved / no latency involved. It would be nice being able to improve the frequency of received messages for a subscription. I'm just using a basic call to createSubscription with an fps_counter (value displayed every second and then resetted):
The link for the on-line documentation is not working. Also executing npm run docs . as suggested by the README of the repo did not work either. I had a view at the implementation of Node.createSubscription and as far as I understood there's an option about QoS, but I could not understand how it works.
Please, lend me a hand with this in case it can be improved.
The text was updated successfully, but these errors were encountered:
Hi @gmp-capgemini thanks for your feedback, I don't think the bottleneck is the frequency, the current timeout is 10ms and you can try to improve it to see if any change happens:
* Trigger the event loop to continuously check for and route.
* incoming events.
* @param {Node} node - The node to be spun up.
* @param {number} [timeout=10] - Timeout to wait in milliseconds. Block forever if negative. Don't wait if 0.
* @throws {Error} If the node is already spinning.
* @return {undefined}
*/
spin(timeout=10){
The efficiency could be petty low for your case because passing the image data of a frame to the JS side needs to allocate additional memory, which costs lots of time and depends on the image format and size. I would suggest:
You can compare with the C++ implementation, e.g., Using rclcpp to implement and see if any improvement there.
You should use video streaming instead of sensor_msgs/msg/Image if you want the video.
This might be more a question than a feature, but I am not getting help anywhere else. I apologize in advance.
I've got a subscription to a camera (
sensor_msgs/msg/Image
) as I am usingrclnodejs
to make a real-time camera display. Even though the topic publishing the camera image is approximately 30 fps, I receive approximately 8 fps. Both publisher and subscriber are on the same host (my laptop), no network involved / no latency involved. It would be nice being able to improve the frequency of received messages for a subscription. I'm just using a basic call tocreateSubscription
with an fps_counter (value displayed every second and then resetted):The link for the on-line documentation is not working. Also executing
npm run docs .
as suggested by the README of the repo did not work either. I had a view at the implementation ofNode.createSubscription
and as far as I understood there's an option about QoS, but I could not understand how it works.Please, lend me a hand with this in case it can be improved.
The text was updated successfully, but these errors were encountered: