【简易测评】如何将Minecraft的存档压缩至最小的体积

红石啥的早就忘记怎么玩了。。。

楼主 duoduo_123dong  发布于 2017-10-22 15:21:00 +0800 CST  
插楼随便插吧。。。现场码字。。。
用到的工具有:
7zip 16.02 64bit
freearc 0.67(precomp版本为0.4.2 32bit)
precomp 0.4.6 64bit
Windows资源管理器(进行最标准的zip压缩用以作参考)
杨月华的活塞门存档(其实这个存档最开始是我的orz)
精品区4C8T CPU存档(by语塞大佬)
精品区漯河新城 存档(byHuangsang)
好像就这些了。。。

楼主 duoduo_123dong  发布于 2017-10-22 15:27:00 +0800 CST  
然后说说为啥用这些软件吧。。
Windows资源管理器不用说,毕竟用着方便,一个“发送到”就能用了。7zip则是在名气较大的文件压缩软件中压缩率相当高的,所以选用了(毕竟LZMA2)。freearc则是号称压缩率最高的压缩软件,功能相当多,同时对于不同类型文件可以给出不同的压缩方案,虽然这里没用到。。。但内置的precomp则是相当有趣的小部件。
在一般的压缩软件的极限模式对于某些文件压缩率达到极限小的情况下,precomp可以通过尝试解压缩数据中压缩程度较低的数据流,虽然precomp处理过的文件变大了,但是再用压缩软件压缩这个变大的文件的时候,通常会得到更小的体积。
至于存档嘛。。。俩红石存档是我随便找的,而建筑存档是我特意在精品区里挑了一个体积巨大的存档进行测试的,毕竟这种存档在网上传播的时候由于其体积较大,则更有必要进行高效率的压缩了。

楼主 duoduo_123dong  发布于 2017-10-22 15:48:00 +0800 CST  
首先是对于CPU存档直接进行压缩的测试。

可以看出,各种直接压缩的方案对于这个CPU存档的压缩都是相当有效的。让我们再放大看看。

楼主 duoduo_123dong  发布于 2017-10-22 15:50:00 +0800 CST  


Windows的zip方案用了比较经典的deflate算法,是比较快速的压缩方法,它和7z的极速压缩被其它压缩率较高的方法甩开了一定的距离。而对于这个CPU存档,7zip和arc的极限压缩相比7zip的标准压缩似乎并没有太多区别,采用了precomp的arc极限压缩似乎也收效甚微。等等,那个precomp+是什么?

楼主 duoduo_123dong  发布于 2017-10-22 15:54:00 +0800 CST  


然后开始测试precomp的效果。因为precomp并没有对文件夹进行打包的功能,它只能对单个的文件进行处理,故这里先对文件夹打包成tar格式,再用precomp进行处理。这里precomp开启了加强模式和暴力模式(实测两个开哪个都行,两个都开也行,但两个都不开对于Minecraft的存档是没有效果的),可以看到precomp处理过的文件体积增加了很多,应该是从Minecraft存档中解压了很多被压缩的数据。

楼主 duoduo_123dong  发布于 2017-10-22 16:01:00 +0800 CST  
然后对precomp释放出来的pcf文件(precomp file)进行压缩。


很明显,Windows自带的压缩功能压缩这么“容易”被压缩的数据时连arc的极限裸压都没有战胜,而arc、7z的最快模式则轻松战胜了未使用precomp时压缩的第一梯队,arc和7z的极限压缩则是把数据的压缩程度推到了更高的境界。

楼主 duoduo_123dong  发布于 2017-10-22 16:10:00 +0800 CST  
然后拿着两个precomp后极限压缩的文件和最开始那个freearc with precomp+的文件比比


原来是同一水平线上的玩意orz。。
其实这个precomp+是freearc内置的0.4.2版本,开启加强模式的precomp。freearc在用这个方法压缩的时候把打包、precomp、压缩三步直接一键完成了,可以说是相当方便了。不过如果其他人的电脑没有freearc该怎么办呢?

楼主 duoduo_123dong  发布于 2017-10-22 16:17:00 +0800 CST  
freearc提供了生成自解压可执行文件的功能。如果用freearc生成极限压缩+precomp加强模式这种自解压文件,再综合前面的测试结果,大概就是这样


原文件大小那个条太长了,不看不看(
生成的自解压相比原来那个压缩包要大一点点,但是方便程度要比原压缩包强很多,同时体积仍然比普通的压缩方式要小很多,应该是相当实用的。

楼主 duoduo_123dong  发布于 2017-10-22 16:25:00 +0800 CST  
杨月华的那个活塞门存档测试结果类似,就不发数据了

楼主 duoduo_123dong  发布于 2017-10-22 16:25:00 +0800 CST  
再看看漯河新城的测试情况吧。其实结论是差不多的,但是由于相当显著还是要拿出来说说的orz
这个存档的文件夹大小有足足的1.29GB,想要发布是一定要进行压缩的
不过利用Windows自带的压缩功能压缩之后仍然有135MB,还是相当臃肿的。直接上测试结果吧。。。


楼主 duoduo_123dong  发布于 2017-10-22 16:33:00 +0800 CST  
上面那个图看不清是吧,其实我自己也看不清


这样就清楚多了恩。
Windows自带的压缩功能以135MB的成就继续垫底,7z与arc的极限,标准precomp均处于同一水平线,102MB到109MB左右,应该代表了普通方法的压缩极限。但是使用了precomp的加强模式之后,最终的压缩大小直接来到了46.4MB,比7z、arc各自的极限模式小了一半还多。。。加上自解压功能也不过区区46.9MB。。。堪称恐怖。

楼主 duoduo_123dong  发布于 2017-10-22 16:40:00 +0800 CST  
bonus:
其实freearc的precomp功能只是一个实验项目,结果嘛。。。使用precomp之后生成的自解压文件其实是无法正确解压的但是这破软件在14年就停止更新了,现在去看连官网都消失了。。。所以自解压功能并不能用。好在这款软件是开源的,有心的大佬可以考虑去接手更新一下freearc。。。

楼主 duoduo_123dong  发布于 2017-10-22 16:42:00 +0800 CST  
bonus2:
看似precomp的加强模式效果很好吧?但是这玩意慢上天了
对CPU存档进行precomp的时候还好只用了一分半,但是处理漯河新城存档的时候,在我超频至4.4Ghz的3770K上跑了40多分钟!可以想象,如果是在2Ghz的笔记本或者更弱的CPU上处理的时候,处理时间会翻多少倍。经过检查,这个程序只吃了一个CPU线程,也就是说这是一个单线程程序。好在precomp也是一个开源项目,编程大佬可以考虑基于这个软件开发出一个多线程,高效率的precomp,为数据压缩事业作出贡献(

楼主 duoduo_123dong  发布于 2017-10-22 16:48:00 +0800 CST  
噫发个技术贴都没人看

楼主 duoduo_123dong  发布于 2017-10-22 16:50:00 +0800 CST  
好的那最后讲一下将Minecraft存档压缩至最小体积的方法吧。。。


首先得保证电脑里安装了freearc 0.67alpha,自行在百度搜索freearc 0.67 并下载安装。(0.666可能有些不同,为了统一直接用最新版)


安装完成后打开freearc,点击顶部options——edit program settings——language——Chinese Simplified(简体中文),点OK,关闭freearc。


之后右键freearc——以管理员身份运行——选项——编辑程序设置——资源管理器集成——把arc格式关联勾上,各种右键菜单也都勾上,尤其下面的最好勾全。。。然后确定,关闭freearc。(如果这一步杀毒软件跳出来选允许,只是加了点右键菜单而已)


右键需要被压缩的存档文件夹——freearc——添加到压缩文件...
压缩格式选arc(缺省),下面的复选框一定要勾“压缩”,不要勾自解压(freearc对于precomp的自解压支持有问题),其它的勾选根据需求来。点击压缩右面的“...”。


弹出来的窗口拉大,左面选“最高”,下面“最大固实压缩块”选上,限制内存占用可以根据需求勾选(不过似乎内存一般比较够用),右下角“实验性算法”中勾选“precomp”和“intense”(加强模式,这个选项是核心),点击确定,再点击确定开始压缩。


注意,precomp过程时间可能相当长(1GB大存档可能会一个多小时),比较简洁的存档可能五分钟就能跑完precomp过程。压缩的时候进度会卡在一个地方不动,那个时候就是在进行precomp,要耐心等待,毕竟咱的高压缩率是以时间作为代价的。。。precomp完成之后才会开始进行压缩。压缩完成后在存档的父目录里会出现一个arc文件,那个就是压缩完成的文件。


解压就比较简单了,正确安装freearc之后,将这个arc文件放到相应saves文件夹内,右键arc文件——freearc——解压缩到当前目录,就完成了。


注意,如果用低等级压缩去配合precomp的意义是不大的,因为低等级压缩省下的时间还不如直接不用precomp。对于时间有要求可以考虑直接用arc或者7zip进行标准压缩,不过这就不是这篇文章要详细说明的内容了,因为这些压缩的效果仅仅比更差的压缩方法稍强。

楼主 duoduo_123dong  发布于 2017-10-22 17:28:00 +0800 CST  
Orz...
暂时没找到适合材质的压缩方法

楼主 duoduo_123dong  发布于 2017-10-28 16:42:00 +0800 CST  
这里是技术贴,不是让弱智们秀下限的地方,请无脑滑稽人士自觉滚出这里

楼主 duoduo_123dong  发布于 2017-11-13 12:42:00 +0800 CST  

楼主:duoduo_123dong

字数:3294

发表时间:2017-10-22 23:21:00 +0800 CST

更新时间:2018-09-27 16:45:47 +0800 CST

评论数:88条评论

帖子来源:百度贴吧  访问原帖

 

热门帖子

随机列表

大家在看