Real time factor in Issac sim

How do you find out the speed of the issac sim simulation with respect to real time?

1 Like

The only way I found so far is to drop an object from 9.8 meters and measure the time manually when it hits the ground!! LOL!! There should be a fat box which tells us the real time factor!

If the simulation is running via the regular launcher start/isaac-sim.sh then the physics step will adjust itself as best it can to remain realtime. If you are running via python.sh then you can do something like this:

The amount of time that is slept will tell you how much faster than realtime things are running. Provided that the simulation is simple enough to run faster than realtime.

class SteadyRate:
    """ Maintains the steady cycle rate provided on initialization by adaptively sleeping an amount
    of time to make up the remaining cycle time after work is done.

    Usage:

    rate = SteadyRate(rate_hz=60.)
    while True:
      app.update() # render/app update call here
      rate.sleep()  # Sleep for the remaining cycle time.

    """

    def __init__(self, rate_hz):
        self.rate_hz = rate_hz
        self.dt = 1.0 / rate_hz
        self.last_sleep_end = time.time()

    def sleep(self):
        work_elapse = time.time() - self.last_sleep_end
        sleep_time = self.dt - work_elapse
        if sleep_time > 0.0:
            time.sleep(sleep_time)
        self.last_sleep_end = time.time()

I think this way just can lower the time factor , but not raise the time factor.
Now I made a robor with two 960x540 cameras in Isaac Sim , the time facto is lower than 0.5 , How should I do to raise the time factor to morn than 1 .
I think it is very significant if we can accelerate the simulation, but the current time factor of Isaac Sim is always lower than 1 .

@fzg7919 , as mentioned in previous message, If you use standalone python workflow it will run as fast as possible. if you use isaac-sim.sh it will be realtime.

Thank you so much !
But now I want standalone python workflow run more faster ? Is there anyting I can do ?
I use standalone python workflow to run a robot with two 1080x720 resolution cameras that publishing semantic&rgb&depth ros image at 5hz in warehouse, but the fps is about 20hz. Now I want to increase fps to 40 ~60 ? Is it possible ? I turn off reflections and translucency on RTX , the fps increase to about 25 .

And my machine is 3070Ti. Thanks for you help really !

1 Like