网站首页 >> 旅游 > >> 正文

原神版本更新体积变化统计(1.0~4.0)

来源:哔哩哔哩    2023-08-20 09:02:46     作者:    

最近原神 大版本更新了,更新大小令许多玩家吐槽:硬盘要装不下了。由此突发奇想,不如来统计一下原神各版本的体积变化,看看它到底是如何一步步膨胀的。

本文转自我的个人博客

原文链接:


(资料图片仅供参考)

本文使用:CC BY-NC-SA 许可

1. 方法

这一部分将会介绍我的分析方法,如果想要看结论可以直接往后跳。

. 选用版本

我选用的游戏版本是国服正式版,即 CNREL 开头的版本。语音包均选择中文,即 zh_cn 开头的版本。

各版本均从原神官方的 CDN 下载的差异更新包。更新包的 CDN 链接来源是:

/MAnggiarMustofa/GI-Download-Library

这个仓库收集了原神几乎所有版本的官方 CDN 下载链接,同时也有一些神秘的测试版下载链接。

之所以选择下载差异更新包而不是全量包进行分析,原因是全量包体积实在是太大了。每一个全量包都是一个完整的游戏,即使按一个版本 40G 来算,25 个版本也要整整 1TB 的空间,下好之后还需要解压,也就是说一共要 >2T 的空间才行。

因此,为了节省磁盘空间和降低下载耗时,我选择了用差异包进行分析。但是这就会引出一个问题,脱离了原神启动器,该怎么使用差异包进行更新?

. 更新方法

首先,原神的差异包有两种,一种是传统的 diff 包,一种是用了差分更新技术的 hdiff 包。在 ~ 版本的更新包,都用的是 diff 形式,之后的更新就是 hdiff 了。

对于 diff 包,这个比较简单,直接将更新包内的文件覆盖到游戏文件夹,然后在按照更新包内 记录的信息,把要删除的文件删掉就行了。这个过程我编写了一个 Python 自动化脚本完成,同时进行数据统计。

而对于 hdiff 包,它包括了 diff 包的功能之外,有些以 .hdiff结尾的文件使用了差分更新,它需要与旧版文件一起合成新版文件。我在原神启动器的目录下,找到了米哈游使用的差分更新软件 hpatchz,我直接使用 Python 调用该软件进行差分更新。

最后我编写的更新脚本分享在云盘里:/gsupd,如果你要使用的话,需要把第 5 行的 hpatchz_path指定到你的差分更新程序,另外目录均不能含空格。

. 存在问题

在测试过程中,我也发现了一些不好解决的问题。我们都知道,原神进入游戏前还会进行热更新,这个热更新是下载的更新包里面不包含的,必须打开游戏后再下载。由于旧版本会直接弹出需要版本更新,因此压根无法获取到热更新包,所以这一部分的内容就无法统计到了。

不过热更新的大小一般非常小,都在几百 MB 左右,因此我认为对分析结果的影响不大,所以就不管了。

2. 分析结果

不多 BB,直接放图!如果需要详细数据表格,或者是作图用的 Python 代码,我也全都分享到了云盘:/gsupd

. 游戏体积变化

可以发现,每个大版本(~, ~, ~)的跃迁都比小版本要大,并且 的增长格外的大。

. 更新包体积变化

可以发现, ~ 的更新包确实是纵观整个游戏更新以来,最夸张的一次。几乎是把半个游戏重新下载了一遍。

不过还能发现, ~ 的更新包也挺大,可能是刚开服进行了文件架构调整。另外 ~ 的语音包更新非常突出,超过了 5G,可能也是语音结构发生了改变。

. 更新文件增删

这张图主要反映每次更新的文件增删大小。可以发现增删比例目测是 10:7 左右,也就是说每次更新并不是简单的 旧版本体积+更新包体积=新版本体积。

最近的 ~ 更新,删除的内容确实非常之多,可见确实有很大的文件调整。

相关资讯

热门资讯

+更多

科技新闻

+更多
深圳新房5折甩卖?
经济观察网 记者 丁文婷 “备案价打5折出售!原价9 8万元 平方米, [详细]