《Windrose》疯狂写入SSD,一局游戏耗掉432GB寿命
最近,一款名为《Windrose》的PvE生存游戏在玩家社区中引发了不小的争议。原因不是游戏不好玩,而是它对你的SSD寿命堪称“毁灭性打击”。有玩家发现,这款游戏在运行时竟然会以15-30MB/s的速度持续读写硬盘,换算下来每小时写入量高达108GB。如果你连续玩上四个小时,SSD就要承受432GB的写入量——这比不少用户一个月的写入量还高。
事情的起因要追溯到一位名为Pixel Operative的YouTuber。他在测试中发现,《Windrose》在角色跑动时,磁盘写入速度会飙到30MB/s,而当角色驾驶船只时,情况只会更糟。唯一能让硬盘喘口气的,就是角色站在陆地上不动,或者移动到地图上SSD负载较低的区域。Pixel Operative还做了一个对比测试:在60到90秒内,《Windrose》读取了32GB数据,写入了1.3GB;而同样是生存游戏的《Enshrouded》,同期只读取7GB、写入695MB;《Valheim》更夸张,只读取1GB、写入5MB。差距一目了然。
面对如此夸张的读写行为,不少玩家第一反应是“这肯定是个bug”。但技术分析却给出了不同的答案。知名存储技术分析者NewMaxx/BoreCraft深入研究了《Windrose》的存档系统,发现游戏使用了至少三个RocksDB数据库,其中“Worlds”数据库更是包含了22个列族,却共享一个仅有1MB的WAL(预写日志)预算。这种极小的WAL配置会导致频繁的memtable刷新和压缩操作——说白了,就是游戏每保存一点状态变化,都会触发大量物理写入。这并非偶然的bug,而是持久化策略过于“激进”的结果。尽管没有证据表明开发者故意为之,但至少说明他们在优化上确实偷了懒。
那么,这种写入量对SSD究竟有多大危害?对于现代TLC SSD来说,432GB的写入量虽然不小,但还不至于立刻报废——毕竟高端TLC盘通常有600TBW以上的寿命。真正危险的是QLC固态硬盘和那些已经接近寿命终点的老旧硬盘。QLC盘的写入寿命往往只有TLC的一半甚至更低,如果玩家用QLC盘连续玩《Windrose》几个月,SSD提前“退役”绝非危言耸听。
好消息是,Kraken Express工作室反应还算迅速。在最新的0.10.0.4补丁中,他们大幅优化了磁盘写入行为。根据Pixel Operative的后续测试,更新后游戏写入速度降到了10-16MB/s,角色静止时更是低于1MB/s,整体写入量减少了60%到75%。虽然相比同类游戏仍然偏高,但至少不再让人心惊胆战。
这件事也给所有游戏开发者提了个醒:在SSD价格飞涨的今天,存储优化不该被忽视。玩家对游戏品质的要求越来越高,但前提是游戏不能“烧硬件”。毕竟,谁也不想为了玩个游戏,还得搭上一块SSD的命。