2011-10-03 71 views
5

我写了一个小的jquery插件,它基本上将html元素中的所有单词转换为跨度,使它们不可见,然后将它们动画化为视图。我这样做是为了让你可以定义它加载整个元素的时间,并根据测试数学看来是正确的,但实际上它需要更长的时间。CPU对JavaScript有多大影响setInterval

见的jsfiddle:http://jsfiddle.net/A2DNN/

注变量“每”和“MS”,这主要是告诉它“每”每一个“毫秒”毫秒字数处理。

在日志中你会看到它会处理1毫秒1毫秒,这应该导致更快的加载时间。

所以我只是想知道,CPU有可能在这里形成一个瓶颈吗?在这个JS中,物品是由CPU处理的,这在图形处理上并不是很快。

这听起来似乎很愚蠢,我希望这些日子CPU会像这样的一小部分工作负荷嘲笑。

+4

考虑到大量的抽象层次,您的JavaScript必须通过实际的金属来运行,所以工作量不大。 – Brad

+3

绝大多数工作不在javascript本身;它在浏览器的DOM中,因为它必须创建一个“span”标签树的重树,更不用说每个独立的内联样式。 – namuol

+0

好的,所以基本上JS不是DOM的瓶颈。这真是一种耻辱,我猜想暂时我无法解决这个问题。随意提交您的评论作为答案。 – Naatan

回答

3

这是由于浏览器的JavaScript实现强制实现的最小超时。你不能有一个1ms的超时,它比这稍微多一点。这里已经有一个discussion了。

+0

这似乎是它。我刚刚在Chrome中试过它,它显着加载速度更快(我使用的是Firefox)。我明白他们为什么要强加这个限制,但同时他们觉得自己是一个讨厌的解决方法,以防止滥用。 – Naatan

+0

也许,但真的有必要有一个1ms超时?您是否尝试过为每个函数调用处理多个'span'?您无法确定是否有10个单词同时出现或延迟1ms。 –

+1

是的,这可能是一个很好的折衷,谢谢你的建议。 – Naatan

相关问题