fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2024-05-09
  • 发帖数18483
  • 经验4837枚
  • 威望5点
  • 贡献值4316点
  • 好评度1116点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
阅读:4901回复:18

Firefox 7 在禁止 Windows Prefetch 的情况下可以有效减少其启动时间

楼主#
更多 发布于:2011-09-21 23:26
各位还是否记得我们在以前的帖子里面有讨论 bugzilla 上关于一个 20 行代码的补丁可以有效加快 FF 启动速度。这个补丁原理是在开机启动时候预先载入 dll 的库(IE启动速度快我看是这样弄出来的)
https://bugzilla.mozilla.org/show_bug.cgi?id=627591

目前 Firefox 7 beta 版本已经基本实现这个功能了,但FF 稳定版还处于 6.0.2,普通用户要升级到 FF 7 需要等到 9 月 27 日左右。

这篇国外博文告诉我们其实 Windows Prefech(windows 预读取)会对预载入库减少启动时间产生阻碍。
http://blog.mozilla.com/tglek/2011/09/2 ... rt-faster/

从统计来看,只有25%以下的用户是关闭 Windows Perfetch的,而 Linux 和 Mac 平台用户则不受此影响,可以体验到更快的启动速度。

Windows Perfetch 对绝大多数常用软件启动速度有所帮助,但对 FF 7 却有不好的影响,我们无需完全关闭整个预读取功能,博文里面给出了如何实现 FF 7 加快启动速度的方法:
1、安装 Firefox 7 beta(或者到 prefetch 文件夹里删除 Firefox 的有关项目)
2、安装完毕后不要立即打开 Firefox,而是重启操作系统
3、这时候再启动 Firefox

这样可以取消 Windows Prefetch 来预读取 FF,而让FF能自己读取 dll 库从而加快启动速度。原因是:系统启动时 Windows Prefetch 会记录不相关的 IO 操作,使得 Firefox 无法在开机时预先加载所要读取的文件。
Explanation: on warm startup Windows Prefetch records irrelevant IO operations and blocks Firefox startup to preload files that Firefox accesses after startup.
Firefox More than meets your experience
zths
小狐狸
小狐狸
  • UID34280
  • 注册日期2010-10-19
  • 最后登录2023-08-29
  • 发帖数71
  • 经验49枚
  • 威望0点
  • 贡献值6点
  • 好评度0点
  • 社区居民
1楼#
发布于:2011-09-21 23:26
禁用Prefech不是什么好方法...只能算是拆东墙补西墙....
坐等新版本解决问题....
liuxb
非常火狐
非常火狐
  • UID26160
  • 注册日期2008-09-05
  • 最后登录2021-12-02
  • 发帖数659
  • 经验324枚
  • 威望0点
  • 贡献值184点
  • 好评度16点
2楼#
发布于:2011-09-21 23:26
只要Perfetch服务开启了,那么任何时候启动firefox都会在windows\preftch目录下生成FIREFOX.EXE-E60C0AA7.pf这样的文件吧.
上面说的,到了第三步3、这时候再启动 Firefox, 还是会生成firefox的预读文件啊,那么下次启动岂不是又起作用了?
我的...
dongyuanxun
非常火狐
非常火狐
  • UID28632
  • 注册日期2009-04-19
  • 最后登录2013-02-14
  • 发帖数898
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
3楼#
发布于:2011-09-21 23:26
启动速度真有那么慢吗

我现在6.02启动时间也就是1-2秒啊

要那么快干嘛……
dindog
千年狐狸
千年狐狸
  • UID30818
  • 注册日期2009-10-24
  • 最后登录2023-02-03
  • 发帖数1195
  • 经验59枚
  • 威望0点
  • 贡献值26点
  • 好评度10点
4楼#
发布于:2011-09-21 23:26
dongyuanxun:启动速度真有那么慢吗

我现在6.02启动时间也就是1-2秒啊

要那么快干嘛……
回到原帖
因为很多人明显不是1-2秒……
以前firefox跳个票的时间现在可以发布几个正式版了-_-
loppopp
小狐狸
小狐狸
  • UID35213
  • 注册日期2011-02-07
  • 最后登录2020-12-31
  • 发帖数10
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
5楼#
发布于:2011-09-21 23:26
firefox的启动慢跟那个包里的那么多零散的js、xul文件有没有关系啊,每次看到那些文件就替它头疼,真有必要对用户透明成那样吗。
8783
火狐狸
火狐狸
  • UID34717
  • 注册日期2010-11-29
  • 最后登录2013-04-16
  • 发帖数210
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
6楼#
发布于:2011-09-21 23:26
dindog:因为很多人明显不是1-2秒……回到原帖

開了BT ONLINEGAME KIS2012防毒 + 一堆東西
FIREFOX6 還是只需2秒

白左
千年狐狸
千年狐狸
  • UID34985
  • 注册日期2010-12-29
  • 最后登录2023-11-13
  • 发帖数2039
  • 经验655枚
  • 威望0点
  • 贡献值364点
  • 好评度69点
  • 社区居民
  • 忠实会员
7楼#
发布于:2011-09-21 23:26
那么已经用了好久的肿么办
-いたんですか? -ええ、ずっと
fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2024-05-09
  • 发帖数18483
  • 经验4837枚
  • 威望5点
  • 贡献值4316点
  • 好评度1116点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
8楼#
发布于:2011-09-21 23:26
https://bugzilla.mozilla.org/show_bug.c ... 27591#c158
这里有个vbscript可以阻止prefetch加速Firefox
Firefox More than meets your experience
cdtylh06
狐狸大王
狐狸大王
  • UID33490
  • 注册日期2010-07-21
  • 最后登录2018-09-03
  • 发帖数459
  • 经验113枚
  • 威望0点
  • 贡献值30点
  • 好评度4点
  • 社区居民
  • 忠实会员
9楼#
发布于:2011-09-21 23:26
https://bugzilla.mozilla.org/show_bug.cgi?id=627591#c158
这里有个vbscript可以阻止prefetch加速Firefox

英文看不懂,具体是哪个脚本,好事做到底,麻烦上传到附件了,谢谢!
bluec
火狐狸
火狐狸
  • UID31820
  • 注册日期2010-01-27
  • 最后登录2017-03-16
  • 发帖数188
  • 经验55枚
  • 威望0点
  • 贡献值28点
  • 好评度2点
  • 社区居民
10楼#
发布于:2011-09-21 23:26
cdtylh06
英文看不懂,具体是哪个脚本,好事做到底,麻烦上传到附件了,谢谢!
回到原帖


不要着急,等时机成熟官方自然会在安装包里加入这个功能。为了加快firefox启动而关闭prefetch就是因噎废食了,那个blog里也没有这样推荐

事实上firefox在同配置的机器里,win7下比xp下启动速度要快
MalcKear
千年狐狸
千年狐狸
  • UID35386
  • 注册日期2011-03-05
  • 最后登录2020-03-02
  • 发帖数1348
  • 经验131枚
  • 威望0点
  • 贡献值16点
  • 好评度10点
  • 社区居民
  • 忠实会员
11楼#
发布于:2011-09-21 23:26
bluec

不要着急,等时机成熟官方自然会在安装包里加入这个功能。为了加快firefox启动而关闭prefetch就是因噎废食了,那个blog里也这样推荐

事实上firefox在同配置的机器里,win7下比xp下启动速度要快
回到原帖

WIN7下的启动速度的确比XP下快的多~
fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2024-05-09
  • 发帖数18483
  • 经验4837枚
  • 威望5点
  • 贡献值4316点
  • 好评度1116点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
12楼#
发布于:2011-09-21 23:26
bluec

不要着急,等时机成熟官方自然会在安装包里加入这个功能。为了加快firefox启动而关闭prefetch就是因噎废食了,那个blog里也没有这样推荐

事实上firefox在同配置的机器里,win7下比xp下启动速度要快
回到原帖


博客是没有推荐,博客里面只是阐述一下 Firefox 7 在启动速度方面已经有了很大提升,甚至已经集成预加载dll库,只是由于windows 的 prefetch(XP、Vista,Win7下面叫superprefetch)会导致这个功能无法使用,用户才没有感受到。如果能通过各种方法关闭 prefetch 就能够感受到了。
作者最后还希望 Mozilla 在以后版本中加入清理 prefetch 的功能,就像那个 vbscript 一样。
Firefox More than meets your experience
fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2024-05-09
  • 发帖数18483
  • 经验4837枚
  • 威望5点
  • 贡献值4316点
  • 好评度1116点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
13楼#
发布于:2011-09-21 23:26
用 about:startup 比较了一下关闭prefetch和开启时候的启动速度,发现关闭prefetch后确实从速度上有所提升,只不过从现实感受上没有发现有太大差别。



上图最后一行,是关闭系统预读取后,Firefox 热启动时间。
上图倒数第二行,是关闭系统预读取后,Firefox 在系统重启后的冷启动时间。
上图倒数第三行,是开启系统预读取后,Firefox 在系统重启后的冷启动时间。
上图第一行,是开启系统预读取后,Firefox 热启动时间。

测试环境:Windows 7 32bit,Firefox 7 beta,安装 About:Startup 扩展
在注册表HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters,找到EnablePrefetcher和EnableSuperfetch两个键,改成2,默认是3。3 表示预读取系统文件和应用程序,2 表示只预读取系统文件。
更改完毕后重启系统,运行Firefox 后发现 C:\Windows\Prefetch\ 下没有Firefox.exe -pf 这样的文件,说明 Firefox 没有被预读取。测试后,重新在注册表里面开启预读取程序。
Firefox More than meets your experience
zhengwq
小狐狸
小狐狸
  • UID6897
  • 注册日期2005-06-20
  • 最后登录2021-01-17
  • 发帖数78
  • 经验20枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
  • 忠实会员
14楼#
发布于:2011-09-21 23:26
liuxb:只要Perfetch服务开启了,那么任何时候启动firefox都会在windows\preftch目录下生成FIREFOX.EXE-E60C0AA7.pf这样的文件吧.
上面说的,到了第三步3、这时候再启动 Firefox, 还是会生成firefox的预读文件啊,那么下次启动岂不是又起作用了?
回到原帖

你再好好试试?
我照那步骤做成功了
上一页
游客

返回顶部