simulation issueshttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/simulators/simulation/-/issues2021-10-20T17:46:50+02:00https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/simulators/simulation/-/issues/30Time-control bugs2021-10-20T17:46:50+02:00Jean MeuriceTime-control bugs## Problem
The time-control of the visualization does not seem to be correct.
For example, with the "simulation-speed" set to low values (1/4, 1/8, ...) the control loop can stop advancing the simulation.
Generally, the visualization ...## Problem
The time-control of the visualization does not seem to be correct.
For example, with the "simulation-speed" set to low values (1/4, 1/8, ...) the control loop can stop advancing the simulation.
Generally, the visualization does not handle the rendering time well in order to prioritize the simulation speed.
## Fixes
A correct time-control loop should adapt the FPS to keep-up the desired simulation speed up to a certain minimum FPS limit.
Right now, the updates are handled in a java `Timer` callback. This is used in order to be in the GUI thread. However this makes the control loop logic hard. Ideally, the control logic should be as presented [here](https://gafferongames.com/post/fix_your_timestep/) (with fixed time-steps).
**If the [Async Simulation and Visualization](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/simulators/basic-simulator/-/issues/3) are implemented again**, the visualization control loop would be completely different since the simulation would not have to be updated in parallel.