Steam下载游戏比预下载小?我亲身经历的容量“缩水”背后,藏着这些门道

前阵子我预购了一款号称“史诗级”的3A大作,在Steam上点击预载时,弹窗赫然显示需要预留120GB的磁盘空间,但实际下载的数据量只有80GB出头。起初我以为自己眼花了,甚至怀疑是Steam的下载进度条在欺骗我。可当游戏解锁后,我反复核对了Steam的下载报告和本地文件夹,发现确实如此:下载的体积比预下载时显示的总大小少了将近三分之一。这种“缩水”不是个别现象,在Steam社区里,不少玩家也都遇到过——显示要下100GB,结果只下了70GB;预载了整整一天,结果解锁时的更新补丁小得可怜。作为一个被大硬盘和慢网速双重折磨的普通玩家,我决定刨根问底,彻底弄明白Steam到底在玩什么把戏。

预下载≠完全下载:你拿到的只是一把锁

Steam的预下载机制本质上是一个“加密投递”服务。当你点击预载按钮时,Steam客户端下载的是一整套经过加密的游戏文件,这些文件被分割成许多小块,并且每一块都带有独特的校验信息。但请注意,此时这些文件是无法直接解密的——就如同你收到了一个上锁的保险箱,钥匙还在发行商手里。等到游戏正式解锁的那一刻,Steam才会下载一个很小的解密密钥(有时仅有几MB),同时对比服务器上的最新Manifest文件,把预载期间可能更新的文件差异部分补上。所以,你预载时显示的那个庞大数值,其实是加密后文件的总和,而实际下载过程中,你真正从互联网拉取的数据量往往远小于那个数字——因为大部分数据已经在预载阶段落盘了。只不过Steam为了让你提前预分配空间,才把加密包的完整体积展示出来。

压缩算法与增量更新:每一字节都在精打细算

即使不是预购游戏,在常规下载中你也可能发现类似的现象。Steam使用了分块压缩和增量更新的技术。游戏文件在服务器端被打包成许多小块,并且会根据你本地已有的游戏文件进行差异对比。举个例子,我的库中早已安装了该游戏的上一代作品以及共享引擎的另一个游戏,Steam会通过硬链接或文件引用避免重复下载那些完全相同的资源文件。用更通俗的话说:Steam会“看”你硬盘里已经躺着哪些东西,然后只发送你没有的部分。同时,所有下载数据在传输过程中都进行了LZMA或类似的实时压缩,压缩率因文件类型而异——一些贴图、音频文件在压缩后体积能缩小30%-50%。当你盯着下载界面时,显示的是压缩后的传输量,而在预下载页面显示的那个“磁盘大小”通常指的是安装后未压缩的预估占用空间。这两个数值自然会有不小的差异。

共享资源仓库:Steam的隐形“拼车”机制

Steam还有一个被很多玩家忽略的特性:Shared Depot(共享仓库)。当多个游戏使用了相同的引擎、材质库或音效包时,Valve会将这些公共部分单独作为一个Depot放在服务器上。如果你之前安装过某个游戏已经下载了这些公共文件,那么新游戏在下载时会直接复用本地已有的文件,不再重新下载。这就像一个拼车机制:你和隔壁的邻居都买了同一幅壁纸,快递员只送一次,你们各自复制粘贴就行。我自己就有过类似的经历:下载《泰坦陨落2》时,发现实际的网络使用量比商店页面标注的容量小了将近40GB,后来才意识到因为我的硬盘里本来就有另一款基于Source引擎的游戏,大量基础库文件已经被提前占位了。这种“隐性共享”让Steam下载的实际流量远比想象中少。

“预下载”的显示陷阱:UI数字与真实流量的错位

回到最初那个让我困惑的场景:为什么预载时Steam让我预留120GB,可真正下载时只用了80GB?除了上面提到的加密与压缩因素,还有一点是Steam的界面逻辑造成的。当你在预载阶段点击下载时,Steam会在你的磁盘上创建一个巨大的预分配文件(比如一个120GB的空文件),然后往里面填充加密数据。它在下载管理器里显示的总大小是“预分配后的文件体积”,而不是实际需要下载的数据量。等到游戏解锁,Steam会用解密和写入操作替代大量的网络传输——你真正从服务器上下载的东西,往往只有那些加密文件在预载期间发生变动的部分。所以,你在下载界面上看到的“已完成”和“总大小”,其实包含了你本地已经写入而并未通过网络传输的数据。那些数字就像是一个会计把预支的额度也记在账上,给人的第一印象自然是虚高。

附件:我的个人记录

为了验证这些说法,我特意记录了一次完整过程:预载《星空》时显示需要下载117.5GB,硬盘预留空间同样被占据,但实际网络流量监测软件显示下载了89.1GB(包括预载阶段和解锁当天的补丁)。两者相差了28.4GB。而在游戏安装完成后,整个文件夹的大小是124.6GB。所以你看,下载大小、预留空间、最终占用——这三者完全是不同的概念。Steam在预载时让你预留空间是为了保证文件完整性,而实际下载流量则通过加密、压缩、增量复用等方式被压缩到一个更合理的区间。

理解这些之后,我再看到Steam的下载数字时,心态平和了许多。那些看似“缩水”的下载量,其实是平台在后台默默替你省下了时间与带宽。当然,偶尔也会出现相反的情况——预载后解锁还需要下一个大补丁——那往往是因为开发商在预载截止之后又紧急推送了修复内容。但总的来说,“下载比预下载小”是一个普遍且正常的现象,它背后是Valve多年来在分发技术上的积累。下次你的朋友抱怨Steam下载“虚胖”时,你可以把这些门道讲给他听,顺便享受一下被当作技术达人的目光。