每次打开FF,至少需要1、2分钟,当电脑才启动的时候更是夸张,尤其是遇到有些网站脚本有问题,直接就死翘翘了。
看了InfoQ上的这篇文章,是有一定道理,但是web工作者能不适用firebug吗?真的禁用后就会加速吗?我觉得不单单是firebug的问题。
FF再不改进,Chrome占领浏览器市场就越来越近了。
作者 崔康 发布于 2009年12月30日 上午12时38分
Firebug如今已经成为Web开发人员的必备调试工具之一。不过很多Firebug的用户反映在使用该工具时,Firefox网页浏览性能下降。Rob Campbell在其博客 中表示,即将发布的Firebug 1.5和Firefox 3.6将修正这个严重的性能缺陷 。
Rob Campbell首先解释了Firebug引起Firefox性能下降的原因:
开发人员在启用Firebug的Console/Script面板时,Firebug将启动内部的调试钩子(debugging hooks),不过让人吃惊的是:为了得到精确的调试信息,这些钩子禁用了Firefox的高效Javascript JIT编译器,即使在Firebug关闭的时候。
跟踪 (tracing)是Firefox的Javascript引擎(即SpiderMonkey)提高代码执行效率的重要机制。它是Just-in-Time 编译器的基础,提高了Firefox 3.5的运行速度,对某些操作甚至是数量级的改善。没有跟踪,JS引擎无法优化代码,从而导致运行速度显著下降。
他特别强调:如果你安装了Firebug,那么你的Firefox浏览器很可能运行缓慢。 如果你曾经启用了Console和Script面板并保持这种状态,即使Firebug被关闭也是如此。快速的解决办法是通过菜单禁用Script和Console。
Boris Zbarsky和John Barton在即将发布的Firebug 1.5和Firefox 3.6修正了这个性能缺陷,Rob Campbell已经在内部构建版本中进行了验证。
Rob Campbell表示,甚至连他自己都没有注意到这个性能下降问题,因为他已经习惯了在非JIT的环境下使用Firefox,直到他禁用了Console和Script,才吃惊的发现浏览一些网页变得非常迅速。
Firebug 1.5除了修正了该缺陷之外,还增加了新功能 ,包括:
- 引入了名为http-activity-distributor 的服务,为Net面板提供更精确的计时功能。
- 新的中断功能:HTML面板中Break-on-Mutation功能允许你在Javascript修改HTML元素时获得中断;Net面板中Break-on-XHR功能允许你在发送XmlHttpRequest时获得中断。
Firebug 1.5 beta版可以在此 下载。