Итак, я создаю игру, и я хочу применять физику как можно чаще, используя Rx с .NET.
В обычной игре с большим циклом я бы делал это, используя секундомер для измерения прошедшего времени между циклами.
Затем я бы использовал это истекшее время для расчета физики.
Как бы я создал что-то с помощью Reactive, чтобы обновлять физику как можно чаще? Если вычислительная нагрузка увеличивается, я хочу, чтобы физический расчет просто использовал большие шаги между обновлениями. Я думал об этом
Observable.Interval(new TimeSpan(0, 0, 0, 32)).Subscribe(x =>
{
//Apply physics code.
});
Проблема в том, что если нагрузка падает ниже 30 кадров в секунду, эти события отстают и начинают складываться, все еще пытаясь выполнить вычисления со скоростью 30 кадров в секунду.
Реально ли то, что я пытаюсь сделать? Я заранее извиняюсь, если это глупый вопрос, я новичок в Reactive, поэтому я не уверен, предназначена ли одна из многих доступных функций для этой цели.