为什么Steam删除一个80G的游戏只用了一秒?
作为Steam的老玩家可能都注意到了一个细节:游戏的安装过程往往耗时较长,而卸载却能在瞬息间完成。
比如你在Steam上安装80GB的游戏可能需要1-2个小时,但卸载却仅需1到-2秒。这到底是怎么回事呢?
实际上,Steam在卸载游戏时,并没有真正删除所有文件,而是通过改变一些比特(bits),将存储区域标记为“空白”,从而让系统认为这些区域可以写入新数据。这种操作速度很快,因为它不需要实际移动或删除大量数据。
通俗一点来讲就是……
“Steam向你的电脑花了一秒钟解释那里没东西,然后你的电脑信了。”
“简单地说,Steam的删除方式就是在你的硬盘上这个游戏占用的这块空间上画了个拆,意思是这块地方是空的了,你别管这块地上有什么东西,你想盖什么就直接往上盖就行了。”
“手机删除软件是系统负责👇
安卓:你给我滚。
软件:好的,我马上滚。
电脑删除软件是软件自己的删除程序负责👇
删除程序:主人,真的要我滚吗?(问了几遍)
然后还留一个是否删除配置的选项,不勾日后就秽土转生。
至于Steam👇
Steam:哥们儿,那儿啥东西也没有,真的。
系统:好。”
那么这是怎么做到的呢?具体来说,Steam采用了以下机制👇
1.文件系统链接
Steam游戏通常安装在同一个目录下,并使用文件系统链接(例如Windows上的符号链接)来组织游戏文件。当你删除游戏时,Steam会立即删除库条目、桌面链接和游戏的主要可执行文件,而其他内容则由后台进程以低优先级慢慢处理,以减少对系统的影响
2.数据库更新
Steam会维护一个数据库,记录了所有已安装游戏的信息,包括文件位置。当你删除游戏时,Steam会从数据库中删除相关记录,并将空间标记为可用。
3.异步操作
删除大型游戏可能需要一些时间来处理文件系统链接和数据库更新。Steam将这些操作放在后台异步执行,这样你就不会看到长时间的等待。
这种机制的优点主要体现在两个方面,一是速度快,删除游戏几乎是瞬间完成的。二是节省空间,只有当你重新安装游戏或其他程序需要使用该空间时,才会真正删除游戏文件。
与传统的删除操作相比,Steam的删除方式更加高效,因为它避免了实际的数据覆盖过程,而是简单地更新了文件系统的索引。
如果你想彻底删除游戏数据,需要使用Steam客户端的“完全卸载”功能,或者手动删除游戏文件夹。
如果你在删除游戏后立即重新安装,安装速度可能会比平时更快,因为Steam可以直接使用之前删除的链接,而不需要重新下载所有文件。