我知道这是一篇旧帖子,但我最近做了一个与这个主题直接相关的测试,我想分享我的结果。
我创建了一个简单的 php 脚本,它输出 x 个 5px x 5px 内联块 div 来测试浏览器稳定性和页面滚动能力。
IE9、Firefox 和 Chrome 页面上的 1000 个 div 没有任何问题,甚至在滚动时似乎也不会打嗝。
在 10,000 div 时,IE9 和 Chrome 能够以几乎不明显的延迟滚动,仍在我书中的“可接受”范围内,但是 Firefox 开始明显滞后,以至于您感觉滚动条在跳跃比应有的位置晚半秒。
有趣的是,10,000 个 div 和 100,000 个 div 之间的性能差异并没有您想象的那么大。 IE9 和 Chrome 的滚动延迟几乎无法察觉(Chrome 在两者中稍微平滑一些),而 Firefox 的延迟非常明显,可能会被认为很烦人,但仍然运行良好(即它没有' t 崩溃)。
现在页面上有 500,000 个 div,它终于开始变得有趣了。 IE9 崩溃并尝试重新启动自身(当然是在同一页面上)并再次崩溃,此时我正确关闭它,重新启动它,并再次尝试以确保再次发生相同的结果。它做了。
Chrome 保持稳定,但由于极度延迟,几乎无法滚动页面。
最大的惊喜是 Firefox,100,000 div 的浏览器与 500,00 div 的浏览器几乎相同......滚动不流畅,但它比 Chrome 好得多。
令人惊讶的是,一个页面上 1,000,000 个 div 的结果几乎相同! Firefox 处理它们时不会崩溃,并且虽然“矮胖”但仍可滚动。 IE9 崩溃了。 Chrome 能够加载该页面,但变得如此缓慢以至于几乎无法使用。
我知道这并不完全是一项科学研究,但我认为除了我自己之外的其他人可能会对它感兴趣。
测试是在配备双至强处理器和 4 GB 内存、运行 Windows 7 的戴尔工作站上进行的。