Controlling fps of CreateRenderProduct/CreateRenderProductFromViewport

I heave a camera with pretty big resolution for my robot and I want to control how often we render it. Real camera is used in robot with 8Hz, so I also want to render it in isaac sim no more often.

I tried multiple approaches with ActionGraph, but it still seems to be publishing with the FPS of the viewport that I have in the app. How I should do that?


This is current approach. I set the rate of ticks in the first node on the left

Bumping this for visibility, this is feature quite critical for us, because we have a robot with 5 cameras and one of it has very high res, but rarely used and has really low fps.

it seems like if I spawn camera(run create_render_product) function specifically it loads the camera and renders it every step of the sim. Moreover, seems like the physics RTF is connected with rendering.

What I tried to do:

  1. Define different frequencies for cameras. But that was giving same RTF result - that is susipicious. I expected that increasing freq should also decrease FPS/RTF.

  2. Also seems like once we define create_render_product in code - Camera render is “created” in the world and RTF drops

I need the very high camera sporadically and I can just create it and delete dynamically(if that is possible) or create render product only at the times I need. But as I said, creating camera once drops the RTF no matter how often I create render product out of it

Hi there,

can you check if disabling/enabling might work for your case:

rp.hydra_texture.set_updates_enabled(False)

Here is a script with the various memory/load effects of render products:

Let me know how it goes.

Best,
Andrei

Was this feature implemented?