javascript中是否有最小可接受的计时器间隔?

时间:2014-05-31 17:25:14

标签: javascript performance timer

假设:

window.setInterval(function () {
    //test for a change in the window state and, if there has been one:
    //make some changes
}, X); //repeat every X milliseconds

X的最低可接受值是多少?

有些阅读引导我阅读this有趣的文章,这表明,即使X = 1,实际上浏览器的运行时间间隔仅为10-15ms。但我的问题更多是关于表现。随着X变小,我看到两个相互矛盾的现实:

  • 随着X变小,感知到的“响应能力”会增长 - 这是一个积极的结果。
  • 随着X越来越小,消耗的系统处理能力越来越大 - 这是一个负面结果。

如果系统处理能力不成问题,显而易见的答案是X = 1,因为当用户更改窗口时,会有或多或少的即时响应。

我知道,下意识的反应是“这取决于系统资源的耗尽程度,以及功能的复杂程度。”但必须有某种方法来确定合理的下限。例如,是否有一个测试套件我应该在许多系统/浏览器组合上运行,以便知道X不是那么低,以至于消耗了大量的处理能力?或者根据我不知道的关于javascript间隔的一些事实,“没有x的价值可能会消耗足够的系统资源才能引人注意”的答案是什么?

知道答案需要这些具体细节,更精确的问题是:

如果给出任何项目/功能组合,如何确定X的最小值?有确定的方法吗?

1 个答案:

答案 0 :(得分:0)

运行该函数并计算执行时间,当你手中的执行时间将该值放入setInterval +一些空闲时间时。