Chinaunix首页 | 论坛 | 博客
  • 博客访问: 609707
  • 博文数量: 765
  • 博客积分: 40000
  • 博客等级: 大将
  • 技术积分: 5005
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-16 18:49
文章分类

全部博文(765)

文章存档

2011年(1)

2008年(764)

我的朋友

分类:

2008-10-16 18:49:49

    windowsxp开机有一个进度条,会一遍一遍的跑,不少人认为只跑两圈就进去的就是开机速度快

    网上出现过一种优化方式,修改注册表将所谓的“开机预读取”设置为“不预读”,则可以大大减少进度条“跑”的次数,但是这种“优化方法”出来不久,便有更多的文章指出这是“谬误”,还举出相当多的事例,或是试验,说明不预读并不能减少开机时间,大多的理由是进度条消失后的“黑屏时间”增加。

    因为一直用的休眠,所以我一直也没怎么在意。前两天和别人谈到这个问题,我便好好研究一番。

    结论是,其实关于这个问题,所谓设置为“不预读”的优化方法也并非谬误,而这个所谓的预读也并非没有用处,否则MS怎么也不会花人力物力弄这么个浪费开机时间的东西。

    先说说什么是所谓的“预读取”。预读取分两种,一种是“系统文件预读”,一种是“应用程序预读”。具体的不去讨论,现在只讨论预读取对速度的影响。

    我们都有经验,当第一次打开word的时候会等待比较长的时间,硬盘灯不停的在亮,但是关闭再次打开,word启动速度就快得多了。这个其实就是windows的预读取做的优化。windows预读取发现你带开了一个他的预读取数据库没有的应用程序时,他就会将这个应用程序中某些信息在内存中留下一个映象,下次打开这个程序就不用再去硬盘上找文件,能大大加块程序启动速度。

    问题来了,内存中的映象重新启动之后就会消失,下次开机启动程序依然很慢,怎么办呢?这就需要“开机预读取”功能。会把使用频率较高的一些应用程序的信息记录下来,每次开机时,就完成一次对程序的预读取,从而大大加快应用程序的启动速度。

    你大概已经猜到,那个“进度条”一遍一遍的跑的时候,windows就在进行开机预读取的工作。

    因此,如果直接取消掉注册表中的“预读取功能”是一定会大大降低应用程序的启动速度的,当然开机速度会有一定的增加,不过这是得不偿失,因为没有了那一段必要的“系统文件预读取”,在进度条消失之后系统会从硬盘上去寻找大量的系统文件,反而影响启动速度,而且应用程序的启动速度也是一定会大大减慢的。其实比较好的优化办法是这样,找到“开机预读取”的信息,手动把不是很常用,不需要预读取的应用程序删除,尽量减少开机预读取的应用程序的数量,由此来加快启动速度!

    位置在x:\windows\prefetch下面,命名是    exe文件名-16进制hash.exe

    有一些实测数据,一台装了许多应用软件的电脑:

    不作处理,开机29s,取消预读取,开机32s,删除prefetch文件夹下面大部分文件后,开机23s,有比较明显的开机速度提升,不过第一次运行应用程序的时候速度的确有所下降,并且prefetch文件夹下文件会自动生成,越来越多!

【责编:Peng】

--------------------next---------------------

阅读(1076) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~