kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2024-08-29
  • 发帖数9187
  • 经验398枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
阅读:8132回复:19

[讨论]拖慢Firefox网页浏览的扩展

楼主#
更多 发布于:2009-04-09 18:42
这个话题又重新讨论起来了,不过这次我想说的不是拖慢启动,拖慢菜单,而是拖慢网页载入。完全不考虑具体的js占用,不用数据说话,只是比较一下加载55个扩展的Firefox和用-safe-mode启动禁用所有扩展(以下简称safe)的Firefox在日常浏览中有多大差距。

我刚刚试了一下,safe的Firefox浏览速度确实很快(废话),如果非要说有什么不对的话,那是因为没有了Adblock,网页中有些内容(主要是广告)载入不及,网页并没有完全打开,但是重要的是,各个标签页之间的相互影响很少——safe模式下,到网易体育去用中键狂点N个标签页,虽然各个标签页上的Throbber一直在旋转,CPU占用也100%,但依然可以在各个标签页之间自由切换,可以比较顺畅地滚屏。而如果加载我的全部扩展,同样的测试结果则是:Throbber卡住不转,几乎无法切换标签页,遑论在某个页面滚屏:这等于说那些标签页看似是在后台载入的,实则依然让人不能正常浏览。

简而言之,排查的结果是GreaseMonkey,我事实上没有针对网易体育的GM脚本,我也试着把所有的脚本禁用,但是问题依然存在。也就是说,GM这个扩展只要安装,就把网页载入的速度拖下来了。不过这个结论仅仅是20分钟反复比较两种浏览模式的结果,是不是真的有普通性还希望各位给帮忙验证一下。

另外,一个比较容易被怀疑的是Adblock,经我的测试,禁用它倒并没有改变太多,或许能快一点吧,毕竟我N多的过滤条目要交给CPU处理,但是,实测过程中我发现,如果没有Adblock,网易的页面上将有大批的Flash广告,在所有标签页都载入完毕后,CPU依然是100%。相比之下,ADP的存在非常有必要。

还有一个可疑的NoScript,我一直以为它会跟页面上的脚本“战斗”,从而拖慢载入,事实上好像只要是Script全部放行的网页,NoScript不会影响,从理论上NoScript或许还可以加快网页,因为只有一部分JS被执行,不过我没有找到典型的网站,因为我主要只上论坛。
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
zeroieme
千年狐狸
千年狐狸
  • UID12805
  • 注册日期2006-05-17
  • 最后登录2015-10-11
  • 发帖数1407
  • 经验34枚
  • 威望0点
  • 贡献值20点
  • 好评度0点
  • 社区居民
1楼#
发布于:2009-04-09 18:42
不是网络蜘蛛,不要订Adblock规则。
通用的规则通常因为通用而臃肿。
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2024-08-29
  • 发帖数9187
  • 经验398枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
2楼#
发布于:2009-04-09 18:42
一个简易的测试方法(在测试中Adblock我禁用了):

在本论坛打开Firefox交流的第1,2,3,4,5页,等页面载入关闭后,标签页上点右键全部刷新。

期待的结果(裸体Firefox下可以实现):不管页面要花多久完全载入,Throbber必须一直转,不卡。(最新结果见编辑1)

目前的结果(56个扩展):Throbber经常会卡一会。这个过程中Firefox事实上是假死状态,虽然不长,但是卡的次数很多,5个标签页全部刷新,大概要卡4次。

还在排查中,我感觉不光是GreaseMonkey

-编辑1
目前的测试告诉我即使禁用所有扩展,归零所有about:config设置(prefs.js),还是会卡一下,只是没有那么明显。看来这还是Firefox自己没有多线程的尴尬。
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
web123lai
千年狐狸
千年狐狸
  • UID8036
  • 注册日期2005-08-17
  • 最后登录2019-05-01
  • 发帖数4225
  • 经验13枚
  • 威望1点
  • 贡献值20点
  • 好评度10点
  • 社区居民
3楼#
发布于:2009-04-09 18:42
我觉得影响最大的还是adblock,因为我写了小20条正则表达式的规则,有的还很复杂,所以感觉非常明显,同时打开的多个标签,有的时候当前标签卡住了,结果弹出一个对话框别的某某网页里面adblock里面的一个js出问题,问继续执行还是停止。不过,话又说回来,没有了adblock,那些flash,数量很多的gif也很夸张,不至于卡住就是了
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2024-08-29
  • 发帖数9187
  • 经验398枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
4楼#
发布于:2009-04-09 18:42
web123lai:我觉得影响最大的还是adblock,因为我写了小20条正则表达式的规则,有的还很复杂,所以感觉非常明显,同时打开的多个标签,有的时候当前标签卡住了,结果弹出一个对话框别的某某网页里面adblock里面的一个js出问题,问继续执行还是停止。不过,话又说回来,没有了adblock,那些flash,数量很多的gif也很夸张,不至于卡住就是了回到原帖


如果都会引起script stop的话还真的要简化简化规则啦,不然就用单条规则。
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
web123lai
千年狐狸
千年狐狸
  • UID8036
  • 注册日期2005-08-17
  • 最后登录2019-05-01
  • 发帖数4225
  • 经验13枚
  • 威望1点
  • 贡献值20点
  • 好评度10点
  • 社区居民
5楼#
发布于:2009-04-09 18:42
  呵呵,还好吧,其实stop script几乎不会出现,毕竟同时刷新而且脚本图片之类的还要足够复杂的时候不多,不过碰到新浪那样的链接超多的网站会觉得一顿一顿的。确实是有点儿过于追求过滤效果了,现在访问陌生的网站都很少看到广告,看到点儿广告就觉得别扭,钻牛角尖了。等到下次精简规则的时候看能不能平衡一下。
  上次精简扩展时候,其实我也是从这个角度来怀疑是不是可能影响速度的,像是foxyproxy/no script/imglikeopera/greasemonkey/stylish/refcontrol之类的扩展都有网址判断的功能,有的直接就是从adblock借鉴的代码,只是支持域名的可能还好说,有的还支持正则表达式,我觉得规则复杂了之后都可能影响速度,而且各个扩展之间还是独立判断,不能综合起来执行。有心想要精简,可最后还是功能优先。
一力破十会
火狐狸
火狐狸
  • UID23357
  • 注册日期2008-03-23
  • 最后登录2016-01-27
  • 发帖数155
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
6楼#
发布于:2009-04-09 18:42
希望能尽快而准确的排查出来,加油哦!
一直认为GM中利用脚本代替许多其他的扩展,其实是一回事,即认为少用扩展,而用脚本来代替,会提高速度,其实是误解...
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2024-08-29
  • 发帖数9187
  • 经验398枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
7楼#
发布于:2009-04-09 18:42
回楼上:现在最大的区别就是禁用了GM,虽然有时候还是卡,但是用纯净配置文件也是会卡的。我在“编辑1”里面已经说过了,事实上这也是Firefox从上路到现在一直不得不被揭短的不足——没有多线程。现在Chrome用的是多进程,虽说不是多线程,但好歹一个死了别的不受影响。(350+370)/2浏览器和搜驯化了的狼浏览器好像也实现了标签页之间不影响,并且做为各自的卖点,不能不说这是一个很吸引人的卖点。Firefox这么久没有实现,肯定有自己的难处(以下来自Firefox设计师Mike Connor)

One Chrome feature Mozilla definitely won't be borrowing, however, is the practice or running each tab in a separate process. Google claims this makes the browser more stable - if one tab crashes it doesn't bring the others down with it - but Mozilla claims this comes at the expense of unnecessary memory usage.

"When you look at the overhead per tab, you're using a lot of memory," he said. "Shared memory is more efficient. That little bit more memory [per process] really adds up."

However, Firefox 3.2 could follow parts of the Chrome memory model. "You can do smarter things like running all your Gmail tabs in one process - so you can have a process per domain," Connor claimed.

所以到它实现之前,只有忍了。
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
fghxy
火狐狸
火狐狸
  • UID27446
  • 注册日期2008-12-14
  • 最后登录2011-04-15
  • 发帖数156
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
8楼#
发布于:2009-04-09 18:42
速度当然很重要但是实用还是优先考虑的,缺少一些功能有时宁愿放弃全部
idragonet
千年狐狸
千年狐狸
  • UID15658
  • 注册日期2006-11-12
  • 最后登录2017-11-15
  • 发帖数2642
  • 经验162枚
  • 威望1点
  • 贡献值74点
  • 好评度118点
  • 社区居民
9楼#
发布于:2009-04-09 18:42
希望Firefox 3.6加上多线程。

等谷歌浏览器支持扩展后,Firefox日子也许会难过一些。
eagle5678
千年狐狸
千年狐狸
  • UID4956
  • 注册日期2005-04-10
  • 最后登录2025-04-06
  • 发帖数1251
  • 经验209枚
  • 威望0点
  • 贡献值124点
  • 好评度3点
10楼#
发布于:2009-04-09 18:42
还有内存问题,上次del些扩展,情况好转

最近,又来了,1G内存,从100慢慢上到500,机子被拖得慢下来……

又要查扩展了……

60个左右

GM?ADP?NOJS?这几个是重点吗?

双子星,你平常也用那么多扩展吗  
kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2024-08-29
  • 发帖数9187
  • 经验398枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
11楼#
发布于:2009-04-09 18:42
我的扩展在55到60个之间。
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
eagle5678
千年狐狸
千年狐狸
  • UID4956
  • 注册日期2005-04-10
  • 最后登录2025-04-06
  • 发帖数1251
  • 经验209枚
  • 威望0点
  • 贡献值124点
  • 好评度3点
12楼#
发布于:2009-04-09 18:42
kmc:我的扩展在55到60个之间。回到原帖
 

我的扩展也差不多在60之间,实在舍不得拿掉一些扩展,虽然,有些并不是经常用到。看到喜欢的就装上。

主要问题是,有时,会出现内存……
hzhbest
千年狐狸
千年狐狸
  • UID22640
  • 注册日期2008-01-15
  • 最后登录2017-04-06
  • 发帖数1763
  • 经验476枚
  • 威望3点
  • 贡献值414点
  • 好评度89点
  • 社区居民
  • 忠实会员
13楼#
发布于:2009-04-09 18:42
我的扩展数60个,5个大多数时间是禁用状态。

我发现Flash内容,特别是Flash视频(跟我用的视频截获扩展有关?)能造成Firefox内存占用大大增加的情况(从140初始占用猛增至300以上)。
ferret
千年狐狸
千年狐狸
  • UID21816
  • 注册日期2007-11-11
  • 最后登录2013-03-22
  • 发帖数1114
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
14楼#
发布于:2009-04-09 18:42
现在想想以前50多个扩展的时候firefox真的是超级慢的。。现在只保留最需要的几个扩展加脚本,其他的都删了。前两天又删掉几个扩展,感觉又明显快了一点,无论什么标签都不会卡一下了。
上一页
游客

返回顶部