Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CPU对JavaScript setInterval的影响有多大_Javascript_Jquery_Performance_Cpu - Fatal编程技术网

CPU对JavaScript setInterval的影响有多大

CPU对JavaScript setInterval的影响有多大,javascript,jquery,performance,cpu,Javascript,Jquery,Performance,Cpu,我编写了一个小的jquery插件,它基本上将html元素中的所有单词转换为跨度,使它们不可见,然后将它们动画化为视图。我这样做是为了定义加载整个元素所需的时间,基于测试,数学似乎是正确的,但实际上需要更长的时间 参见JSFIDLE: 注意变量“per”和“ms”,这基本上告诉它每“ms”毫秒处理“per”字数 在日志中,您将看到它每1ms处理1个单词,这将导致更快的加载时间 所以我只是想知道,有没有可能CPU在这里形成了一个瓶颈?在这种情况下,JS将项目淡入视图,这是由CPU处理的,而CPU在图

我编写了一个小的jquery插件,它基本上将html元素中的所有单词转换为跨度,使它们不可见,然后将它们动画化为视图。我这样做是为了定义加载整个元素所需的时间,基于测试,数学似乎是正确的,但实际上需要更长的时间

参见JSFIDLE:

注意变量“per”和“ms”,这基本上告诉它每“ms”毫秒处理“per”字数

在日志中,您将看到它每1ms处理1个单词,这将导致更快的加载时间

所以我只是想知道,有没有可能CPU在这里形成了一个瓶颈?在这种情况下,JS将项目淡入视图,这是由CPU处理的,而CPU在图形处理方面不是很快


这听起来很傻,我希望这些天CPU会嘲笑这样一点点工作量

这是由于浏览器的JavaScript实现强制的最小超时。你不能有1毫秒的超时,它比这个稍多。考虑到JavaScript在实际金属上运行需要经过大量的抽象层,这里已经有了一个很大的工作量。

考虑到JavaScript本身,绝大多数工作都不在JavaScript中;它位于浏览器的DOM中,因为它必须创建一个由
span
标记组成的叶子繁重的树,更不用说它们各自的内联样式了。好吧,所以JS基本上不是瓶颈。。DOM是。真遗憾,我想我暂时还不能解决这个问题。请随意提交您的评论作为回答。似乎就是这样。我只是在Chrome上试用过,它的加载速度明显更快(我当时使用的是Firefox)。我明白他们为什么要设置这个限制,但同时,这让他们觉得这是一个防止滥用的讨厌的解决办法。也许吧,但真的有必要暂停1毫秒吗?您是否尝试过在每个函数调用中处理多个
span
?你真的不知道10个单词是同时出现还是延迟1毫秒。是的,这可能是一个很好的折衷方案,谢谢你的建议。我按照你的建议做了,设置为每5毫秒出现一次,结果看起来与Chrome完全一样(即,它起作用了,谢谢!)。不过仍然很奇怪,Firefox似乎在自动调整我给它的时间间隔,使其达到一个更大的数字,但这个数字显然高于浏览器允许的最小值。奇怪女士。正如我在文档中回忆的那样,4ms超时最小值是从v4开始在FF中使用的,但可能只有当您将浏览器切换到符合标准的模式时才使用?您是否尝试过使用HTML5或XHTML DOCTYPE?