IT备忘录

您现在的位置是:首页 > 教程 > 编程开发

编程开发

NSIS压缩算法、方式对比哪种好?

2024-02-27 08:59:18编程开发
很多对软件压缩打包的初学者来说,不清楚NSIS压缩算法哪种好?下面IT备忘录小编就给大家做下详细的介绍和对比,帮助新手选择比较好的压缩方式。对于安装包打包使用的NSIS,提供了7

很多对软件压缩打包的初学者来说,不清楚NSIS压缩算法哪种好?下面IT备忘录小编就给大家做下详细的介绍和对比,帮助新手选择比较好的压缩方式。

对于安装包打包使用的NSIS,提供了7种压缩方式:

1、ZLIB
2、ZLIB(固实)
3、BZIP2
4、BZIP2(固实)
5、LZMA
6、LZMA(固实)
7、极限压缩

在脚本中是:

SetCompressor [/SOLID] [/FINAL] zlib|bzip2|lzma

该命令设置了安装程序压缩文件、数据使用的压缩算法。该命令只能在区段、函数之外或在任何数据被压缩之前使用。不同的压缩方式不能在同一个安装程序里用来压缩不同的文件。建议在脚本的开始处使用这个命令来尽可能避免编译错误。

支持三种压缩方式:ZLIB,BZIP2 和lzma

ZLIB (默认值) 使用收缩算法,是一个快速简单的方法。默认的压缩级别它消耗大约 300KB 内存。

BZIP2 通常比 ZLIB 的压缩率好,但是稍微慢了一点并且内存的使用也多一点。默认的压缩级别它消耗大约 4MB 内存。

LZMA 是一个压缩率比较理想的新式压缩方式。它的解压速度非常快(在 2GHz 的 CPU 上能达到 10-20MB/s 的速度),但是压缩速度很慢。解压时内存的使用量是字典的大小加上一些 KB,默认值为 8MB。

如果使用了/FINAL ,则后来调用的 SetCompressor 都会被忽略。

如果使用了/SOLID 的话,所有的数据将被压缩在一个区块里,这样可以提高压缩率。

此外还有一个选项 设置字典大小SetCompressorDictSize

字典大小以 MB 为单位。

设置使用 压缩器时的字典大小 (默认为 8MB)。

设置最大32MB,可以提高压缩率。

NSIS压缩算法、方式对比哪种好?

SetCompressor /SOLID lzma
SetCompressorDictSize 32

以上就是IT备忘录小编对NSIS压缩算法的一个对比分析,所以我们一般在对程序进行打包的时候选用LZMA 32来进行打包可以有效的减少安装包打包体积。

相关内容标签

文章评论