Распаковка архива методом PZlib+Srep+Lzma

nik1967

Old Men
Проверенный
Сергей, не, с паролем всё нормально. Я разобрался в проблеме. У меня почему то не захотели дружить cls_pzlib.dll и CLS-srep.dll. Оставил только цлс-ку со срепом, всё стало нормально - не вылетает.
На счёт скорости распаковки - у меня 3 архива общим размером 15,8 ГБ (16 997 734 948 байт) распаковываются на ссд за 7 минут, на хдд - за 12.
 

dixen18

Ветеран
nik1967, :good:
CLS-PZLIB не знаю зачем он нужен если эта дллка требует рядом экзешник
 

ShTeCvV

Новичок
Ребят а можете объяснить с нуля план действий, что надо делать что бы этот метод сжатия работал в скрипте?
буду благодарен
 

vint56

Ветеран
Проверенный
ShTeCvV, что бы распаковать они должный быть раскаметированый
; Для распаковки версий pZLib 3
#define pZLib
#define SrepInside

if not ISArcExtract ( 0, 0, ExpandConstant('{src}\DATA.bin'), ExpandConstant('{app}\'), '', false, '', ExpandConstant('{tmp}\pZLib.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
 

dixen18

Ветеран
ShTeCvV, А если в папку TMP подкинуть arc.ini? То есть так -

Код:
#ifdef pZlib
Source: include\pZlib.exe;        DestDir: {tmp}; Flags: dontcopy deleteafterinstall
Source: include\arc.ini;        DestDir: {tmp}; Flags: dontcopy deleteafterinstall
Source: include\hif2raw_dll.dll;        DestDir: {tmp}; Flags: dontcopy deleteafterinstall
Source: include\raw2hif_dll.dll;        DestDir: {tmp}; Flags: dontcopy deleteafterinstall
#endif
И для ISDone.iss

Код:
#ifdef pZlib
      ExtractTemporaryFile('pZlib.exe');
      ExtractTemporaryFile('hif2raw_dll.dll');
      ExtractTemporaryFile('raw2hif_dll.dll');
      ExtractTemporaryFile('arc.ini');
    #endif
 

makst

Новичок
Добрый вечер всем. Уже не первый день пытаюсь довести до ума репак одной игры (а точнее Mad Max). Первый раз использовал pZlib (v3). Использовал цепочку pzlib+srep+lzma2.
Проблема заключается во времени распаковки. Для примера скачал репак Каталистов, и установился он у меня за 23 минуты. А мой репак ставился аж за ~50 минут. Перепробовал разные варианты в arc.ini, ничего не помогает.
Мониторил одновременно и панель задач и на мое удивление 7-zip (lzma2) после 3% установки вообще перестал грузить процессор. По нулям всё. Когда pzlib не используется в репаке то 7-zip нагружает процессор где-то на 35% в среднем. Есть у кого-нибудь идеи почему такое происходит?

Код:
[External compressor:srep]
header = 0
unpackcmd = srep64 -d $$arcpackedfile$$.tmp $$arcdatafile$$.tmp

[External compressor:lzma2]
header = 0
unpackcmd = lzma2 x -txz -mmt=on -an -y -si -so <stdin> <stdout>

[External compressor:pzlib]
header = 0
unpackcmd = pZlib d -t90p - -o - <stdin> <stdout>
 

dixen18

Ветеран
makst, две DLL-ки использовал при обработке пзлибом? Речь об hif2raw_dll.dll и raw2hif_dll.dll. Если да - они должны прилагаться в инсталляторе
 

vint56

Ветеран
Проверенный
makst, сколько ты выделяешь памяти на установку у R.G. Catalyst 1
 

makst

Новичок
makst, две DLL-ки использовал при обработке пзлибом? Речь об hif2raw_dll.dll и raw2hif_dll.dll. Если да - они должны прилагаться в инсталляторе
Нет, не использовал. Только потом протестировал пару Гб с ними и без, и размер был больше при их использовании.

vint56, в моей системе 8 Гб. Вот скриншот с использованием ресурсов репака Кталистов:


pZlib грузит процессор не равномерно, то 0%, то поднимается до 99%. У меня так же, вопрос почему 7-zip ведет себя так странно в моем репаке?!

Код:
[External compressor:pzlib]
header = 0
packcmd = pzlib e -m2 -c256m -t8 $$arcdatafile$$.tmp -o $$arcpackedfile$$.tmp

[External compressor:srep]
;options  = l%d (minimal match length, default=512)
header = 0
packcmd   = srep64 {options} $$arcdatafile$$.tmp $$arcpackedfile$$.tmp

[External compressor:lzma2]
header = 0
packcmd   = lzma2 a -txz -an -mcrc=0 -m1=lzma2:d200m:fb=64:mf=bt4:mc=1000000:lc=4:lp=0 -mmt=on -mx9 -si -so <stdin> <stdout>
 
Последнее редактирование:

vint56

Ветеран
Проверенный
makst, попробуй так
[External compressor:lzma]
header = 0
unpackcmd = lzma x -txz -mmt=2 -an -y -si -so <stdin> <stdout>
 

vint56

Ветеран
Проверенный
Mickey1s, был прав как оказалось lzma2 один поток при распаковке
 

makst

Новичок
vint56, все так же. Первые 3% установки 7-Zip еще держится, потом капут


:help:
 

ShTeCvV

Новичок
Сжимал я значить файл в 351мб
при использовании -mpzlib+srep+4x4:b256mb:lzma:a1:mfbt4:d256m:fb273:mc10000:lc8 файл сжался за 2 минуты в размер 259мб
а при -mpzlib+srep:mem256mb:l1024+delta+lzma:680mb:max:bt4:1024:mc10000:lc8 файл сжался за 4 минуты но размер 254мб
Вопрос: можно как то сделать так, что бы скорость сжатия была как у первого варианта а размер как у второго?
 
Сверху