快讯

流言终结者二 Win8还需要ReadyBoost么?

2012-10-09 16:07  出处:pconline 原创  作者:唐山居人[专栏]   责任编辑:caoweiye 

1Windows 8的闪存预读技术答疑回顶部

  6年前的微软Windows Vista发布大会,一项震撼性技术瞬间轰动全场:利用它,用户可通过一台小小U盘,直接为系统进行加速。虽然从实际效果来看,这项技术的加速性能远没有直接升级内存那般实在,但由于操作简便、价格低廉,尤其在那个内存价普遍偏高的特殊时期,依然是一项性价比颇高的加速手段。而这,便是日后尽人皆知的——ReadyBoost(又名:闪存加速)。

  说到这儿一个问题来了,如果说当年ReadyBoost的设计初衷是用价格低廉的U盘替代一部分系统内存。那么6年后的今天,内存普遍4GB起、价格也已经白菜化,ReadyBoost还有没有它的实用价值?

  在微软推出新一代操作系统Win8之后,很多网友发现这项6年前的技术依然静静地躺在Win8的功能列表里。换句话说,既然微软没有放弃它,是否意味着ReadyBoost还有可以施展空间的地方?也许今天的“流言终结者”咱们就可以从ReadyBoost谈起。

Win8闪存预读技术解读
图1 Win8依旧支持ReadyBoost

Windows 8闪存预读技术
图2 评测机配置

一、ReadyBoost是什么?

  ReadyBoost仅仅是利用U盘存储预读文件(Prefetch)的技术,并非直接加大物理内存。只有当物理内存无法满足Windows需要,预读系统性能不佳的情况下,它才会显示一定的效果。

  换言之它所加速的其实是Win8的SuperPrefetch模块,而对目前普遍存在的2G以上电脑,ReadyBoost产生的效果微乎其微。

二、ReadyBoost能做什么?

  疑问1.  ReadyBoost能加速开关机么?

  提起系统加速,很容易让人联想到开机加速。的确在过去很长一段时间里,这项功能都是各优化软件厂商极力宣传的一面,那么ReadyBoost是否也有类似功效呢?

  测试过程很简单,两次开机,一次正常启动,另一次插入已经开启ReadyBoost的U盘启动。然后分别用秒表对两次开机截止到登录页面的启动时间进行统计。考虑到Win8“快速启动”可能会影响最终数据准确,两次开机均关闭了“快速启动”。

Windows 8闪存预读技术
图3 开启ReadyBoost对开关机无效(测试机4G内存)

  结果很快出来了,可以看到在插入ReadyBoost U盘之后,Win8的启动速度稍有提高,但关机速度却又慢了一些。想到测试机使用的是4GB内存,会不会是因为内存太大远超Win8要求而让ReadyBoost效果不佳呢?于是调整内存后,我们重新进行了测试。

Windows 8闪存预读技术
图4 调整系统内存后数据对比

  第二次结果也已出炉,总体来说在1GB、2GB、4GB这三种日常最常用的内存配置中,ReadyBoost都能让开机速度稍有提升。不过这些提升多是以0.x秒为量级的,偶尔会有个1~2秒的差距,基本上是不太可能被人感知。

  换言之所谓ReadyBoost能够提升开机速度,完全没有实用价值,同理关机速度也是一样!

  相比之下,利用Win8自带的“快速启动”所带来的提速效果则要明显得多。以笔者这台250GB机械硬盘(5200 RPM)为例,默认情况下开机速度约为29秒上下,但开启了“快速启动”后用时却可直接缩短到11秒(二次启动后稳定成绩),要知道目前性能最高的SSD硬盘也不过7~8秒,Win8的这项“升级”真的是强爆了!

Win8闪存预读技术解读
图5 Win8的“快速启动”则要实在得多

  疑问2.  ReadyBoost能加速软件或游戏启动么?

  既然ReadyBoost对开关机影响很少,那么日常软件打开呢?会不会因为ReadyBoost的开启而让程序启动变快呢?

  为了更好地回答这个问题,我们选取了Word 2010、Excel 2010、Photoshop CS6、极品飞车9等几款最常见的软件及单机游戏,同样在开启与未开启ReadyBoost的情况下进行测速。其中Word、Excel、Photoshop是以关联启动方式,通过双击文档文件启动软件(Photoshop通过导入三张高分辨率大图关联启动)。

Win8闪存预读技术解读
图6 Photoshop CS6测试截图

Win8闪存预读技术解读
图7 极品飞车9测试截图

Windows 8闪存预读技术
图8 ReadyBoost对常用软件启动的影响

  从测试结果来看,开启ReadyBoost的确可以让软件启动变得更快。不过这个“更快”也是有所局限的,一般当物理内存大于2GB时,ReadyBoost所产生的功效就会慢慢降低。而且虽然理论上ReadyBoost可以作用于任何程序,但只有那些文件数庞大、读取数量多的程序(如大型游戏、Photoshop等)才会拥有更好的表现。

 

相关阅读:

流言终结者五 虚拟内存现在还有用吗?

http://www.pconline.com.cn/win8/softnews/1210/3036518.html

流言终结者四 一条命令就能让开机加速?

http://www.pconline.com.cn/win8/softnews/1210/3030321.html

流言终结者三 关了索引Win8就会变快?

http://www.pconline.com.cn/win8/softnews/1210/3032514.html

流言终结者一 系统空闲内存越多就越快?

http://www.pconline.com.cn/win8/softnews/1210/3014872.html

 

2Win8还有必要使用ReadyBoost吗?回顶部

三、科普篇:ReadyBoost技术原理

  很多人都认为ReadyBoost是直接加大内存空间,其实不然,这项技术是与Windows的另一项特性Prefetch相辅相成。简单来说Prefetch(文件预读取,Vista之后升级为“SuperPrefetch”)是微软在XP中加入的一项文件缓冲机制,能够通过分析用户使用习惯将部分文件预先调入内存。

  好处是当用户真的点击这些程序时,这些预读好的数据能够直接从内存中读取,由于内存与硬盘间的巨大差速,实际使用中Prefetch的确可以让程序启动变快。

  不过正是由于Prefetch(或SuperPrefetch)的这项原理,当物理内存过小而无法满足Windows需要时(Vista刚发布时普遍都是512MB内存),SuperPrefetch反而会成为系统的“绊脚石”,与系统争抢原本就不多的内存空间。

Win8闪存预读技术解读
图9 这里的“已缓存”即是SuperPrefetch

  在这种情况下ReadyBoost应运而生,它的核心理念就是将系统预读文件直接转移至U盘(实际上是硬盘与U盘并存一份缓存,优先读取U盘,这样当U盘拔出或失效时,还能转回硬盘不至出现故障),一来可以减轻物理内存的空间压力,二来也好借助U盘本身随机读写快的特性(相对硬盘而言,硬盘只是连续I/O快,随机读写效率极低)来让预读文件更快地读取。

  但如果物理内存已经大到足以满足系统及SuperPrefetch需要时又会怎么样呢?没错!ReadyBoost的效果就不那么明显了,这也就是为何图8中内存越大差速越小的最终原因(这里还掺杂了Win8硬盘读取效率提升的因素)。

Win8闪存预读技术解读
图10 随机读写U盘更有优势

  编者按:当ReadyBoost认为U盘内缓存比硬盘缓存更能满足随机读取需要时,会直接从U盘内随机读取数据。但如果系统正在有序地访问数据,便会自动转回到硬盘读取,即便数据同样存在于U盘缓存。

  换言之在实际工作中,ReadyBoost的智能化程度还是相当高的,能够自动选取最适合当前任务的介质。

四、实战篇:你的U盘够劲儿么?

  通过上面的介绍,相信大家已经明白,所谓ReadyBoost其实就是利用U盘随机读写快的特性,将SuperPrefetch转移到自己身上,然后再通过加快预读文件读取(相比硬盘来说)提高系统运行速度(其实是软件启动的响应时间)。

  那么这里就引发了一个小问题,即你的U盘一定要足够快,否则过慢的U盘非但不能缩短程序响应时间,甚至还会成为系统的“拖累”。

  事实上微软对于ReadyBoost U盘的确存在一个技术要求,即4KB随机读取传输率2.5MB/s或更高、512KB随机写入传输率1.75MB/s或更高、接口USB 2.0以上、容量256MB以上。

  而且这些参数会在用户开启ReadyBoost之时自动检测,只有系统确认U盘不会给自己“拖后腿”时才会允许用户开启ReadyBoost。

Win8闪存预读技术解读
图11 Windows验证合格后才允许用户开启ReadyBoost(用户可自由指定ReadyBoost所占用的空间)

Win8闪存预读技术解读
图12 笔者所用U盘的测试结果(注意4KB和512KB两者结果)

  通过资源监视器我们可以更清楚地看到ReadyBoost的运作,当笔者在电脑中开启ReadyBoost之后,会发现瞬间硬盘狂转起来,如果这时打开资源监视器,会看到一个进程正在以20MB/s的速度向U盘内写入文件,而这恰恰正是这部U盘的最高写入速度。

Win8闪存预读技术解读
图13 开启ReadyBoost后系统以20MB/s速度向U盘写入文件(见右图蓝线)

  整个过程约会持续5分钟,之后高强度写入没有了(偶尔还是有的,因为ReadyBoost要不断更新数据),取而代之的则是启动软件后的瞬间高速读取,换言之此时操作系统已经转而使用U盘读取预读文件,ReadyBoost正式生效!

Win8闪存预读技术解读
图14 随后的软件启动,系统会直接从U盘的ReadyBoost文件中读取(见右图绿线)

写在最后

  总体来说,ReadyBoost仅仅是一项利用U盘存储预读文件(Prefetch)的技术,并非直接加大物理内存。只有当物理内存无法满足Windows需要,或者预读系统性能不佳的情况下,它才会显示一定的效果。

  而且它所加速的其实只是Win8的SuperPrefetch模块,并非直接作用于程序本身,因此使用该功能必须要同时开启SuperFetch。

  也就是说ReadyBoost更适合那些物理内存小、内存槽已满无法升级,以及内存过时不易买到的用户,如果物理内存大于或等于2GB,在目前条件下ReadyBoost产生的效果将微乎其微!

点击进入Windows 8中国发布会直播专题
点击进入Windows 8发布会现场直播专题

点击进入Windows 8专区
点击进入Windows 8专区

IT热词搜索 来源:360新闻
软件论坛帖子排行