反应式(Rx)增量计时,并在资源允许的情况下尽快更新

时间:2018-06-29 15:44:22

标签: .net reactive-programming timedelta

所以我正在做一个游戏,并且我想尽可能多地使用物理知识,并在.NET中使用Rx。

在正常的大型循环游戏中,我会使用秒表来测量循环之间的经过时间。

然后我将使用该经过的时间来计算物理量。

我将如何使用Reactive创建一些东西以尽可能频繁地更新物理?如果计算量增加,我希望物理计算仅在更新之间使用较大的步骤。我想到了

 Observable.Interval(new TimeSpan(0, 0, 0, 32)).Subscribe(x =>
 {
    //Apply physics code.
 });

问题在于,如果负载下降到每秒30帧以下,这些事件将落在后面并开始堆积,仍然尝试以30 fps进行计算。

我想做的事可行吗?如果这是一个愚蠢的问题,我事先表示歉意,我是Reactive的新手,所以我不确定是否有许多可用功能之一用于此目的。

0 个答案:

没有答案