What happens when frame rate does not keep up?

If I understand correctly, physycs needs to be computed fairly often to make simulation reasonably realistic.



What happens, if

  1. frame rate drops (due to too complex graphics)
  2. there is too much physics computations



    If I understand correctly, physycs can be run in same thread as rendering, so in that case 1) and 2) reasons of not keeping up adds. But its possible to set it to run in separate thread, so either thread can be too slow. So answer may differ.



    and second question:

    Is it possible to speed up (assuming performance is not problem) / slow down simulation in way that speeds up/slow down displaying it too (including particle emitters and animations, not only physycs controlled objects)?

The simulation is framerate independent. Meaning, it is only tied to time.



You can choose to run the physics in a separate thread, if physics cannot keep up, this will slow down the main loop as well. (Perhaps @Normen can explain that in more detail)

Generally you don’t need to care about that. When the graphics slows the fps the physics compensates for that, when the physics is overloaded you will get inaccuracies. When you run physics parallel the physics will be stepped during rendering, when no user code is executed.

Is it possible to make it slow down instead being inaccurate?

On the other hand, if I needed real accuracy (for eg. long term stable orbits), I would probably have to use something else anyway. And slow down would be noticcable much more than short inaccurate period, and if it would be overloaded for long time, its in most games unplayable either way. But in strategyc game slowdon would be preferable to inaccuracies.



But game I have in mind is action/strategy, so I can live with short inacuracy and must not allow long one.