precomp 打包游戏的方法

首先准备的软件

1:Precomp (只需要这两个文件precomp.exe,packjpg_dll.dll)

2:FreeArc(其实也就是只需要个arc.exe)

打包步骤:

1:使用一个压缩格式对需要压缩的文件(通常就是game啦)进行打包,注意这里的打包指的是无压缩打包

就是说使用压缩软件把分散的游戏文件打包成一个单个的文件,你可以7za,winzip,winrar,freearc都可以

常见的集中于7za打包和freearc打包,个人倾向于freearc打包,

命令行指令:

arc a -m0 [打包后的文件名].arc [需要打包的文件夹完整|相对路径]

-m0:指的是无压缩量打包,详见freearc的文档

例如:arc.exe a -m0 k1.arc "e:\game" 即将e盘的game文件夹打包成一个单独的文件k1.arc

打完后的文件大小应该和源文件夹大小一致!

2:使用precomp对打包文件进行预压缩(啥叫预压缩呢,简单的说就是分析文件,将已经压缩的数据流,解压出

来,便于真正压缩时能获得更高的压缩量,所以预压缩后文件会变大,甚至会变成原来的2倍大)

命令行指令:

precomp.exe -slow -v k1.arc

-slow:尽量分析数据流多释放些数据

-v:显示执行信息(不想看就省略)

k1.arc:当然就是刚才打包的文件咯

执行后生成k1.pcf文件(这就是预压缩后的实际文件)

3:使用freearc对与压缩文件进行压缩,当然尽量压小些的话,压缩参数就要高些,同时压缩时间也越长

命令行指令:

arc.exe a -mx "game.arc" "k1.pcf"

a:添加压缩包

-mx:和前面的-m0是同一种参数,mx指最大压缩量,压缩和解压时使用的内存最大

(经过反复的测试,发现机器的内存值越大,压缩量越高,所以在支持4G以上内存的64位OS上压缩量可以达到最

大,当然在2g内存下使用一些特殊的参数也能提高一些压缩量,我的参数arc a -mlzma:767m -di -lc-

--cache10m -i2 "game.arc" "k1.pcf" -di:显示压缩信息,-i2:di的辅助参数,显示更多信息,-lc-最大压缩

内存使用量, -mlzma=767m 使用lzma算法的最大内存占用值,767是我在2g内存下测试的极限值,再大内存就

不够用了,大家可以根据自己机器的实际情况自行测试这个值的大小)

好了经过漫长的等待后文件就压缩好了,通常游戏中的过场动画是没什么压缩量的,所以大家经常看到游戏主

程序和动画分开下载的情况

这样的压缩结果可能比一般winrar压缩,7z压缩小的多,但是由于多层压缩,压缩时间上并没有什么优势...

所以再次向制作高压游戏的大大们致敬~辛苦了~

简单说一下解压,解压很简单了

一般写个批处理啥的,执行相关的命令即可

arc.exe x -y game.arc

x:解压

-y确认选项全选y

解出k1.pcf

precomp.exe -r k1.pcf

-r:还原预解压的文件

还原出k1.arc

arc.exe x -y k1.arc

解压完成了
LZ要首先熟悉品处理才行,压缩解压工具要全部用批处理调用的.....

下载地址

高压游戏一般使用的几个文件和代码,可以参考下。

 

Bat Packing