相关疑难解决方法(0)

setTimeout还是setInterval?

据我所知,这两个javascript的行为方式相同:

选项A:

function myTimeoutFunction()
{
    doStuff();
    setTimeout(myTimeoutFunction, 1000);
}

myTimeoutFunction();
Run Code Online (Sandbox Code Playgroud)

选项B:

function myTimeoutFunction()
{
    doStuff();
}

myTimeoutFunction();
setInterval(myTimeoutFunction, 1000);
Run Code Online (Sandbox Code Playgroud)

使用setTimeoutsetInterval有什么区别吗?

javascript setinterval

738
推荐指数
12
解决办法
37万
查看次数

如何确定在JavaScript动画循环中使用的最佳"帧速率"(setInterval延迟)?

编写JavaScript动画时,您当然会使用setInterval(或重复的setTimeout)进行循环.但是在setInterval/setTimeout调用中使用的最佳延迟是什么?

.animate()函数jQuery API页面中,用户"fbogner"说:

如果有人感兴趣:动画是使用setInterval"渲染"的,时间超过13毫秒.这很快!Chrome的最快间隔时间约为10毫秒.所有其他浏览器在20-30ms左右"采样".

知道jQuery如何决定使用这个特定的数字吗?


开始赏金.我希望有了解Chromium或Firefox背后的源代码的人可以提供一些可能支持特定帧速率决策的硬性事实.或者可能是动画(或框架)列表及其延迟.我相信这为进行一些研究提供了一个有趣的机会.


有趣 - 我只是花时间看看谷歌的吃豆人来源,看看他们做了什么.他们设置了一系列可能的FPS(90,45,30),从第一个开始,然后每帧检查帧的"慢度"(帧的数量超过其分配的时间).如果慢度超过50ms 20次,则帧速率下降到列表中的下一个(90 - > 45,45 - > 30).看起来帧速率永远不会提升,大概是因为游戏的寿命很短,所以编码就不值得了.

哦,setInterval延迟当然设置为1000 /帧速率.事实上,它们使用setInterval而不是重复的setTimeouts.

我认为这种动态帧率功能非常整洁!

javascript jquery

26
推荐指数
2
解决办法
1万
查看次数

SetInterval是否在单独的线程上运行?该方法如何工作?

我环顾四周试图理解如何SetInterval但只找到了如何使用它.我已经知道它的功能,我只是好奇当JS不支持线程时它是如何能够在单独的线程上运行的(至少这是我读过的).

我希望我能正确地提出这个问题.

谢谢.

javascript multithreading setinterval

7
推荐指数
1
解决办法
580
查看次数

标签 统计

javascript ×3

setinterval ×2

jquery ×1

multithreading ×1