nsis的固实(solid)压缩原理

nsis的固实(solid)压缩

问题由解压框而来

解压框显示的逻辑是这样的

1,运行第一步是进行crc校验,校验的过程大约4kb的步长读取exe文件,并做crc校验,每一次校验检查当前校验时间是否已经超过了1s,超过则展现解压框

2,压缩文件时固实算法是,将所有文件按照如下格式 |FileSize|FileContent|FileSize2|FileContent2|... 将所有文件拼成一个大buffer,然后进行lzma压缩

解压时,每解压一个文件设定一个500ms的超时,若解压这个文件的过程中超过了此阈值,则显示解压框

解压某个文件时,传入这个文件解压后所在大buffer中的偏移,因此,解压过程是先从头至尾一点点解压这个dabuffer,一旦已解压的数据满足了取出这个offsert-size大小的要求即返回,因此若此文件在压缩过程中比较靠后,就会导致需要把前面的所有文件都解压出才能解压出这个文件的问题

解压框与主窗体是互斥的,因此一旦安装的主窗体创建,则不会显示解压框

解决:

1,保证压缩的顺序与解压顺序一致,这样可以将单个文件的解压时间放到最小

2,init以及插件dll保证最小使用

3,使用resverfile强制约束某些文件优先压缩

时间: 2024-10-25 04:28:59

nsis的固实(solid)压缩原理的相关文章

InnoDB 数据表压缩原理与限制

http://liuxin1982.blog.chinaunix.net/uid-24485075-id-3523032.html 压缩理念 通过提高CPU利用率和节约成本,降低数据库容量及I/O负载,从而使数据吞吐率得到显著提高. 压缩原理 压缩表减少了磁盘上数据库的大小,使得用户不必频繁地操作写入和读取便可以访问数据.对于 InnoDB的工作量以及传统的用户表而言(特别是在某些读取密集型的应用中,内存有足够的空间存储常用数据),数据压缩不仅大大减少了数据库所需的存储空间,而且还减少了 I/O

压缩原理及无线的一点思考

黑白图像每个像素8bit,彩色24bit(任何颜色都可以由红绿蓝三色组成).JPEG压缩技术,把像素以8*8为单位,以某个基准(如傅里叶基)对像素值(矩阵的系数或向量)进行变换,把大部分的像素值变为0,完成图像的压缩.结果可以理解为,值为0的像素不会在链路上传输,到了解码端再在相应的位置将值为0的像素恢复,节约了带宽,广域网加速器大概也是这个道理. IEEE802.11b或其他标准,都有个频宽,比如2.4-2.483GHz或5.15-5.825GHz.在这个频宽的基础上,划分了十几或更多的信道,

JPEG压缩原理与DCT离散余弦变换——有实际的数据演示

http://blog.csdn.net/newchenxf/article/details/51719597 1 前言 JPEG是joint Photographic Experts Group(联合图像专家组)的缩写,文件后辍名为".jpg"或".jpeg". jpg图片可以说是最常见的图片格式了,基本上你的自拍照,要么是png的,要么就是jpeg的了.(有关jpeg和png的区别,请参考我的另一博文[jpeg 与 png 图片格式的区别]) 但它是一种有损压缩

代码压缩原理

1.移除注释 2.移除额外的空格 3.细微优化 4.标识符替换 YUI Compressor 包括哪些细微优化呢? object["property"] ,如果属性名是合法的 JavaScript 标识符(注:合法的 JavaScript 标识符——由一个字母开头,其后选择性地加上一个或者多个字母.数字或下划线)且不是保留字,将优化为: object.property {"property":123} ,如果属性名是合法的 JavaScript 标识符且不是保留字,

乱谈zip、rar文件格式

作者:马健邮箱:[email protected]发布:2006.11.21最近更新:2006.11.25 目录一.目录表(TOC)与分卷(Volume)二.固实(solid)压缩方式三.安全性四.开放性五.结论 声明:本文并非学术论文,所述内容仅为我个人的看法和体会,不具任何权威性,仅供有兴趣的人参考,但是如果您不具有足够的鉴别能力,建议勿看,以免误导. 一.目录表(TOC)与分卷(Volume) 抛开压缩算法不谈,我认为zip.rar在文件格式上最大的差异就在目录表(Table of Con

7z 压缩命令行工具

命令行压缩解压一 7z 1) 简介7z,全称7-Zip, 是一款开源软件.是目前公认的压缩比例最大的压缩解压软件.主页:http://www.7-zip.org/中文主页:http://7z.sparanoid.com/命令行版本下载:http://7z.sparanoid.com/download.html主要特征:# 全新的LZMA算法加大了7z格式的压缩比# 支持格式:* 压缩 / 解压缩:7z, XZ, BZIP2, GZIP, TAR, ZIP* 仅解压缩:ARJ, CAB, CHM,

bat中rar压缩命令

bat中rar压缩命令 数据库备份,导出的dmp 文件比较大,需要压缩,压缩后大小能变为原来十分之一左右吧. 写的是批处理的语句,每天调用,自动导出dmp 文件,压缩删除原文件. 首先写下路径,先将压缩软件的路径写入系统的环境变量里,加入到path中.比如将"C:\Program Files\WinRAR\"加入到path中. 之后批处理中写好相应的处理命令: rar a -df %filename%.rar %filename%.dmp 附: 压缩参数 用法:     rar <

WinRAR文件分卷压缩具体使用方法图文教程

WinRAR是很多电脑用户都在使用的一款文件压缩软件,今天,我们就一起来认识一下WinRAR的一个非常使用的功能:文件分卷压缩功能.那么,什么是文件分卷压缩功能,文件分卷压缩有什么用呢?文件分卷压缩有什么使用技巧呢?相信您在看完今天的教程之后就会明白的! 1.文件分卷压缩的方法 首先,选择你要分卷压缩的文件,点鼠标右键选"添加到压缩文件",如下图: 接着,在左下角的压缩方式中选择"最好",如下图,然后,在左下角的压缩分卷大小里选择压缩的分卷大小,或者自己设定您要的单

利用WinRAR命令行压缩文件或文件夹

压缩文件夹winrar.exe a -ag -k -r -s -ibck c:/bak.rar c:/dat/ 压缩多个文件winrar a -ag -ibck bak.rar filename1 filename2 参数说明winrar.exe:运行winrar,如果winrar.exe没在默认路径中则需要指明路径,如c:/Progra~1/winrar/winrar.exe ...:a :备份所有文件:-ag :当创建压缩文件时,以格式“YYYYMMDDHHMMSS”附加当前日期字符串,文件