2014-12-05 27 views
0

为什么window.setInterval在不同的计算机上以不同的速度运行。这纯粹只是滞后还是别的吗?为什么setInterval以不同的速度运行

在所有电脑上,30ms是不是30ms?

+1

您可以定义“不同的速度”。你如何说明这些速度之间的差异? – Bowersbros 2014-12-05 09:44:12

+0

@bowersbros我使用一个简单的网页来比较速度,我写了一个在画布中移动一个框直到它碰到某个点。盒子移动的时间比我的笔记本电脑快得多。 – Griffy 2014-12-05 10:27:25

回答

2

你忘了,对于一些JavaScript调用他们使用的事件循环,所以虽然你说你基本上是说队列30毫秒,并触发回调 30ms的经过。

这意味着什么,如果队列中有很多需要时间,那么回调基本上需要更长的时间才能完成。

显然,事件循环处理的速度是高度可变的。

这里有一个很好的文章深入解释它 - http://javascript.info/tutorial/events-and-timing-depth

相关问题