egametang / ET

Unity3D Client And C# Server Framework
Other
8.76k stars 2.99k forks source link

添加 偏差纠正 重复定时器 类型 #512

Closed anjiev5 closed 9 months ago

anjiev5 commented 9 months ago

举个例子 比如我希望有个任务从现在(0秒开始) 每隔1秒执行一次,那么我希望的是任务尽可能在 第 1,2,3,4……秒执行,实际定时器开启后,任务可能会在 1.1秒被唤醒并执行(这只是方便举例),如果用RepeatedTimer,那任务被设置的下次执行时间就变成了 1.1+1=2.1秒执行,但任务可能会在2.2秒被唤醒并执行,和原来希望的2秒 就偏差了0.2秒,随着迭代次数的增多,这个偏差不断累积 会和原来的预期执行时间 差距越来越大,因此添加了这个 偏差纠正 重复定时器 类型 来解决这种场景需求,任务每重复一次,就纠正一下 偏差,使任务实际执行时间尽可能接近希望时间。