schedule会有误差累积

用schedule每秒执行一次,执行240次,结束时应该是过了240秒,但实际会晚个2秒左右。

执行次数越多,误差越大。

也就是说每次执行 schedule,都会有一点点误差,可能是几毫秒,但是时间久了,误差累积起来,也是很可观的。

目前我的做法是:每次执行,自己获取当前时间自己算。

跟渲染帧数有关系吧可能,每帧做的事情多了帧时间拉长了,定时器就会间隔得更久

感觉像是每次执行一次之后,就重新开始计时,但是每次都不是严丝合缝到毫秒的,而是多少有几毫秒的延迟

1赞

你说对了,就是每次触发了,重置了计时器。

callbackTimer 每次触发 都重置 this._elapsed = 0;  应该改成 this._elapsed -= this._interval;