Этот вопрос специфичен для реактивного банана и моделирования в реальном времени с физическим и визуальным компонентом (например, играми).
В соответствии с Fix Your Timestep! - идеальный способ настройки игрового цикла (при условии, что физика должна быть воспроизводимой), вам нужно фиксированное время между кадрами. Рассмотрев ряд реальных осложнений, автор приходит в этот игровой цикл:
double t = 0.0;
const double dt = 0.01;
double currentTime = hires_time_in_seconds();
double accumulator = 0.0;
State previous;
State current;
while ( !quit )
{
     double newTime = time();
     double frameTime = newTime - currentTime;
     if ( frameTime > 0.25 )
          frameTime = 0.25;   // note: max frame time to avoid spiral of death
     currentTime = newTime;
     accumulator += frameTime;
     while ( accumulator >= dt )
     {
          previousState = currentState;
          integrate( currentState, t, dt );
          t += dt;
          accumulator -= dt;
     }
     const double alpha = accumulator / dt;
     State state = currentState*alpha + previousState * ( 1.0 - alpha );
     render( state );
}
Синопсис заключается в том, что физическое моделирование всегда получает одинаковое увеличение времени (dt) для численной устойчивости. Для этого необходимо учитывать, что физика и визуальные эффекты могут обновляться на разных частотах, и вы не хотите слишком сильно отставать.
Например, вам могут потребоваться обновления с частотой 20 Гц, но визуальное обновление с частотой кадров 60 Гц. Этот цикл делает линейную интерполяцию физики, чтобы составить разницу между физическими обновлениями и графическими обновлениями.
Кроме того, когда разница во времени между кадрами намного больше, чем dt, существует цикл для обработки шагов по обновлению в кусках dt. Примечание о спирали смерти просто относится к случаю, когда ваш физический расчет просто не может идти в ногу с нужной частотой обновлений, поэтому вы позволяете ему пропускать некоторые обновления.
Для этого обсуждения часть меня больше всего интересует, так что вызов физическому движку (вызов integrate) всегда вызывается dt. Поддерживает ли  реактивно-банановый пользовательский стиль этого цикла? Если да, то как? Возможно, пример, выполняющий физическую симуляцию в реальном времени, находится в порядке (или уже существует)?
