How to speed up Ros 2 image publishing rate from Issac sim?

I have a turtlebot in Issac sim, and I have imported a realsense camera 455 from the drop down menu on the top. This has three camera prims within it.

I also added a custom camera prim with default configuration to see how that would work.

I publish the camera stream from all the cameras - here is a snippet of the graph for one camera :

It is from the examples : I get camera feed from Issac Render Product and then publish it through camera helper node.

However, my output rate for the images is terribly slow - 2-3hz at best, and I do not know what I can change to make it better.

I check by running ros2 topic hz on my local machine.

I am running this on a 64GB RAM, i9 14 gen intel, 4090 16 GB Nvidia GPU system, and I see CPU utilization hovering around 40% - so it is not throttling yet.

The rate does not change much if I publish 1 camera stream or three - if it was just proccessing bottleneck, then we should see a difference there?

Finally - when I subscribe to the topic from my device, and try to save the image or something, then the issac sim starts to slow down and glitch until I turn the simulation off.

Any easy way for me to access the raw camera stream from omniverse onto my code? It need not be through ROS as well. I want the frame data for my algorithms which are in python/c++.