上周末准备带着《荒野大镖客2》去朋友家联机,结果U盘拷贝速度显示要4个小时,我当场就傻眼了。这U盘刚买,还是3.0的,怎么比乌龟还慢?折腾了一个周末,吃了不少亏,现在总算把问题整明白了。
为什么Steam游戏从U盘输出这么慢?
接口没对上,速度砍半
我一直以为只要插蓝口就是USB 3.0,后来才发现前置面板延长线可能只支持2.0。而且就算插在主板上,我的旧机箱线也有损耗。后来我直接插到主板背后那组原生的3.1口,速度才释放出来。
U盘主控和闪存是硬伤
看了CrystalDiskMark的测试,我这U盘持续写入才25MB/s,4K随机写入更惨,0.5MB/s。拷贝Steam游戏这种小文件密集的场景,直接就暴露了。后来我换了朋友的固态U盘,写入200MB/s,4K也快很多,差距简直天上地下。
文件系统设错,白做工
默认的FAT32死活拷不了大于4GB的视频,所以我以前都格成NTFS。但NTFS在小文件写入时会产生大量日志,反而拖慢速度。我格成exFAT并把分配单元改成64KB,立马感觉顺畅了。
小文件是隐藏的杀手
Steam游戏里有一堆几十KB的配置文件和贴图包。Windows资源管理器对付这些低效得很,每个文件都要握手,速度自然提不上去。我数过,《巫师3》的一个目录就有四万个文件,拷贝起来能不慢吗?
我的自救方案
第一步:确认瓶颈
我拿CrystalDiskMark跑了一圈,发现U盘真实性能原来这么差。又用USB Device Tree Viewer一看,接口工作在2.0模式,难怪慢。
第二步:狠心投资固态U盘
借了朋友那个读400写200的固态U盘试了一下,效果立竿见影。后来我咬咬牙自己也买了一个类似的,用起来确实爽。
第三步:格式化成exFAT
我全盘格式化成exFAT,分配64KB单元,格式化前先把数据备份到了电脑上。
第四步:用Steam的备份功能
Steam自带的备份不是直接复制文件,而是打包成若干个大小相近的文件,这样就能绕过小文件问题。虽然备份时也会花时间,但总比干等强。
第五步:借助专业软件
Windows自带的复制实在不行,我试了FastCopy,还有robocopy命令行。用FastCopy的多线程模式,速度提升明显,而且中途出错还能跳过继续。
现在,我一个50GB的游戏从硬盘拷贝到U盘,大概八九分钟就能搞定。虽然还谈不上极速,但至少不会让人抓狂了。这次交了不少学费,我记得特别清楚,以后可不会再犯蠢了。