# FPS and Substeps

A common question is why simulations with a high FPS rate require less substeps? The answer is precision. The length of a single substep is calculated as

`length`

_{substep} = 1 / ( FPS rate * substeps )

In RealFlow, time is not a continuous stream, but subdivided into chunks. Between these chunks, a particle's or object's velocity is considered constant. This gives a very good approximation and the more substeps (= time chunks), the better the representation of the real behaviour.

An example:

- Let's assume you have a FPS rate of 25 and 300 substeps.
- According to the formula the length of a single substep is 0.0001333 s.
- This is a very accurate subdivision and gives precise results.

Now, let's use a FPS rate of 400 and see what happens:

`length`

_{substep}= 1 / ( 400 * 300 )`length`

_{substep}= 0.0000083 s- So we have a much higher precision:
`0.0000083 s vs. 0.0001333 s`

In order to get the same precision as before, substeps can be decreased:

- In this example, the FPS rate has been increased by a factor of
`400 fps / 25 fps = 16`

. - Therefore, the number of substeps can be calculated as
`300 fps / 16 fps = 19`

- With 19 substeps and 400 fps we get the same level of precision as with 300 substeps and 24 fps.