Ru-Board.club
← Вернуться в раздел «Программы»

» FreeArc (часть 4)

Автор: Bulat_Ziganshin
Дата сообщения: 21.05.2012 19:56
insorg
нет. может тебе прочесть наконец доку + описание -mc?
Автор: Bulat_Ziganshin
Дата сообщения: 06.10.2012 22:20
kalpak
потому что каждый процесс сжатия в hc4/a0 занимает один поток, а в bt4/a1 - два потока. поэтому в первом случае таких процессов создаётся 4, а во втором 2

R76LW90
-mx
Автор: insorg
Дата сообщения: 21.05.2012 19:57

Цитата:
нет. может тебе прочесть наконец доку + описание -mc?
да, вот же, уж четвёртый день даже не закрываю, изучаю-экспериментю.
так-то вроде более-менее разобрался что к чему, но этот самый srep меня немного тормозит, хотя желание его попользовать велико (и, если верить, что он ест памяти всего 7-15% относительно размера словаря, то оно мне оч необходимо).


Цитата:
-mc$default+srep:256m
результат - прерывание упаковки с выводом:
Errorlevel=2
17.3%
ERROR: general (de)compression error in srep:256m

скриншот - http://savepic.su/1978392.png (оперативки - 12 гигов, из них свободно почти 10)

А, грубо говоря, если я хочу задать условия, схожие с "-m9x -i2 -lc- -ld-" (т.е., "дать асинхрон" и выжать полный максимум из максимально возможного сжатия), на что следует заменить выделеное цветом?
И осуществима ли здесь асинхронка вообще?
Автор: Shuld
Дата сообщения: 07.10.2012 06:58
Bulat_Ziganshin

2. http://freearc.org/history/changelog_full.htm - ищи --pause-before-exit

Нашел только один раз в версии 0,52 вот что
on – for "test" command in GUI mode
on-warnings – for other commands in GUI mode

И как это применять для GUI mode?
Автор: kalpak
Дата сообщения: 07.10.2012 13:00
Bulat_Ziganshin
понятно, спасибо
а многопоточный lzma2 в FreeArc будет реализован
через 4x4
и/или как в 7z?
Автор: 1noObman1
Дата сообщения: 21.05.2012 22:20
Bulat_Ziganshin

Зачем в новой альфе приписывать арку стандартные параметры для прекомпа? Пиши -mprecomp, а оно его в 042 переименовывает и само добавляет парамы. Теперь при распаковке через анарк длл пишет что метод не поддерживается.
Автор: Bulat_Ziganshin
Дата сообщения: 07.10.2012 13:11
Shuld
FreeArc 0.52 alpha (July 27, 2009)
---------------------
Changes:
* Added option --pause-before-exit with the following settings:
on – always make a pause
off – never make a pause
on-warnings – make pause if there were any warnings due operation
on-error – if program exits due to error

* Default settings for the option:
off – for console mode
on – for "test" command in GUI mode
on-warnings – for other commands in GUI mode

kalpak
никак не будет реализован. lzma2 я сделаю для улучшения обработки несжимаемых данных, а многопоточные возможности, аналогичные lzma2, прекрасно реализуются и в 4x4
Автор: Bulat_Ziganshin
Дата сообщения: 22.05.2012 18:19

Цитата:
Подскажите, делаю распаковку так unarc.exe x files.arc -pPass -o+ -dpC:\path1
видна консоль, её можно скрыть?

да. спрашивай в теме по своему инструменту программирования


Цитата:
ERROR: general (de)compression error in srep:256m

я mem пропустил - сложно догадаться?


Цитата:
И осуществима ли здесь асинхронка вообще?  

асимметрия != асинхронность. будь внимательней. думай сам вместо того чтобы задавать тривиальные вопросы


Цитата:
Зачем в новой альфе приписывать арку стандартные параметры для прекомпа? Пиши -mprecomp, а оно его в 042 переименовывает и само добавляет парамы. Теперь при распаковке через анарк длл пишет что метод не поддерживается.

можно конкретней, в чём проблема? у меня такой принцип - "precomp042" и т.п. означают конкретные версии precomp, а "precomp" заменяется на "precomp042" или другую свежую версию. это позволяет сжимать с -m=precomp и не думать, какая там сейчас версия последняя - например, не менять батники

единственное в чём возможно я неправ - это надо перенести определение precomp в стандартный arc.ini

Добавлено:
packMP3 v1.0c release
Автор: coolerru
Дата сообщения: 08.10.2012 07:31
Булат, а предупреждение о превышении размера архива 4 ГиБ и, в результате, отмену вставки SFX-модуля в процессе архивации планируешь добавить, так как винда не поддерживает exe-шники такого размера? Или ещё лучше: создание отдельно SFX-модуля и отдельно data-файла? Также, будет ли многотомность в будущих версиях поддерживать SFX-архивы?
Автор: insorg
Дата сообщения: 22.05.2012 20:09

Цитата:
я mem пропустил - сложно догадаться?
если досконально знать - то не сложно, а так - увы...
спасибо, поправлю и попробую упаковать

Цитата:
асимметрия != асинхронность. будь внимательней
да, точно.. это уже усталось сказывалась, пардон!

Цитата:
-m9x
не использует rep
а как их тогда можно совместить для максимального ассиметричного сжатия?
(в доке искал, но, правда, в упор не вижу ответа на этот вопрос. по ходу, в 0.40, по которому она написана, этого срепа ещё не было что ль)

Добавлено:

Цитата:
я mem пропустил - сложно догадаться?

только что перепроверил, у меня (оказывается) там c указанием параметров всё нормально, "mem" - на месте:
-m9x -i2 -lc- -ld- -di -mc:rep/srep:mem256mb -ag
Автор: Bulat_Ziganshin
Дата сообщения: 08.10.2012 10:27
coolerru
1. проблемы возникают не с размера ровно 4 гб, и зависят от фрагментации памяти
2. уже. freearc-sfx.exe+freearc-sfx.arc
3. да
Автор: Bulat_Ziganshin
Дата сообщения: 22.05.2012 23:39
new alpha version:arc.ini: removed outdated definitions for exe2 and precomp
unarc.dll: changed meaning of returned value for "overwrite?" and "password?" callbacks; please update your code that makes use of unarc.dll
unarc.dll: full english and russian docs in Addons\Unarc-DLL\readme*.txt
unarc.dll: fixed bug encountered when callback==NULL
SFX/unarc/dll: fixed bugs sometimes preventing extraction of encrypted archives
External: fixed bug - hangup after attempt to execute non-existing external compressor



Новая альфа-версия:arc.ini: удалены устаревшие определения для exe2 и precomp
unarc.dll: изменена трактовка результата, возвращаемого из колбеков "overwrite?" и "password?"; пожалуйста обновите ваш код, использующий unarc.dll
unarc.dll: полная английская и русская документация в файлах Addons\Unarc-DLL\readme*.txt
unarc.dll: исправлена ошибка, возникавшая при callback==NULL
SFX/unarc/dll: исправлены ошибки, иногда препятствовавшие распаковке зашифрованных архивов
External: исправлена ошибка - зависание после попытки выполнить несуществующий внешний упаковщик
Автор: coolerru
Дата сообщения: 08.10.2012 13:21

Цитата:
freearc-sfx.exe+freearc-sfx.arc

Прекрасно! Как я понял, нужно просто взять нужный модуль из bin, переименовать его в имя архива (c расширением exe) и держать вместе?


Цитата:
проблемы возникают не с размера ровно 4 гб

Просто WinRAR так пишет. То есть, если в памяти найдётся непрерывный участок нужного размера всё заведётся?
Автор: Bulat_Ziganshin
Дата сообщения: 23.05.2012 14:37
insorg
во времена 0.40 у нас были два основных алгоритма - lzma требует 10*dictsize памяти для упаковки и 1x для распаковки, rep - 1x для того и другого

соответственно было две стратегии:

1) максимальное сжатие при заданной памяти для распаковки подразумевало использование только lzma, в целом алгоритм при этом получался асимметричным (скажем 2.5 гб для упаковки и всего 256 мб для распаковки)

2) максимальное сжатие при заданной памяти для упаковки достигалось применением rep+lzma, при этом те же 2.5 гб обеспечивали 1.5 гб словарь rep и 256 mb словарь lzma, а памяти и для упаковки, и для распаковки требовалось 2-2.5 гб

srep имеет совсем иной профиль памяти - порядка 10% от размера словаря и для упаковки, и для распаковки. соответственно, в твоём случае имея 2.5 гб памяти для упаковки и 500 мб для распаковки, мы можем использовать lzma:256mb плюс srep со словарём 25 гб
Автор: Bulat_Ziganshin
Дата сообщения: 08.10.2012 13:28
1. да
2. а ты проверь. я лично о деталях особо не в курсе
Автор: Bulat_Ziganshin
Дата сообщения: 15.10.2012 21:47
Новая альфа-версия:Интеграция с Explorer: настройка расширений архивов, ассоциируемых с FreeArc
Сжатие: более быстрые методы для несжимаемых данных (группа $compressed), copy=storing (7z-совместимое имя метода)
GUI: завершён редизайн диалога прогресса, область сообщений скрыта до появления ошибок/предупреждений
UI: показывает xx.x% вместо xx% в индикаторе прогресса только при обработке > 1ГБ (было: >100МБ)
Исправлена ошибка: показывалось "выполнено 0%" по завершении операции над архивом, содержащим 0 байт данных

New alpha version:Explorer integration: configuration of archive extensions to associate with FreeArc
Compression: faster methods for already compressed data ($compressed group), copy=storing (7z-like method name)
GUI: finished redesign of Progress Dialog, message area is hidden while there are no errors/warnings
UI: show xx.x% instead of xx% in progress indicator only for datasets > 1gb (was: >100mb)
Fixed bug: showing "0% done" after operation on archive containing 0 bytes
Автор: insorg
Дата сообщения: 23.05.2012 14:52
Bulat_Ziganshin
т.е., для "lzma:256mb плюс srep со словарём 25 гб" получаем нечто вида:
"-m9x -i2 -lc- -ld- -di -mc:rep/srep:mem2560mb -ag"
, верно?
Автор: Bulat_Ziganshin
Дата сообщения: 23.05.2012 15:25
нет. читай доку на -mc и srep
Автор: slech
Дата сообщения: 16.10.2012 10:34

Цитата:
Интеграция с Explorer: настройка расширений архивов, ассоциируемых с FreeArc

Можно ли чекбоксы приделать, как-то ручками писать не совсем привычно. А вот дописать чего нет - это очень интересная идея.
Автор: insorg
Дата сообщения: 23.05.2012 16:01
Вобщем, как я понимаю, то ли мы друг друга не понимаем, то ли что-то не так.
Ты сам ясно дал понять, что во времена 0.40, по которой дока и написана, srep ещё не было (был просто rep, что является чем-то совсем другим). Соответственно, в этой самой "доке" нет даже слова "srep", не говоря уже про то, чтобы о нём что-то найти с ним связаное.
Все упоминания "-mc" сводятся к пункту "Мультимедиа-сжатие", в котором описывается как отключить (!) доп.алгоритмы сжатия, но не задействовать внешний.
Как я уже заметил, по сути arc опирается в основе на алгоритм lzma, а это многое проясняет. Следовательно, теперь я могу более-менее понятным языком для нас обоих сформулировать что мне нужно: максимальное сжатие lzma со словарём 512 Мб + использующий аналогичное количество памяти srep (он, как я пронимаю, обработает схожие данные на расстоянии до 5 гигов, чего мне полностью достаточно), особых ограничений к количеству памяти для упаковки не представляется, но для распаковки допускается выделить полгига, чего для lzma512mb вполне достаточно. Собственно, это и всё, что нужно. Напиши, пожалуйста, как конкретно будет выглядеть строка параметров для этого случая.
Только пожалуйста, не нужно посылать в очередной раз, ибо из-за этих посылательств мы торгуемся уже который день, а толку не появляется.

И ещё по этой же теме. Частенько попадаются репаки игр в этом самом ARC (только расширение хитрые люди на bin меняют) в паре с установщиком. Сначала распаковывается сам arc'овый архив, получаем некий архивчик .srep и потом распаковывается он. Каким способом реализуется подобное извращение?
Автор: Bulat_Ziganshin
Дата сообщения: 16.10.2012 11:31
slech
а зачем тебе чекбоксы, ты хочешь отключить только часть расширений??
Автор: slech
Дата сообщения: 16.10.2012 13:43

Цитата:
slech
а зачем тебе чекбоксы, ты хочешь отключить только часть расширений??


например да, но для этого мне придётся их стереть из списка, а потом я уже и невспомню что туда писать.
а когда есть чекбоксы - я могу выбрать из уже имеющегося списка.
Автор: Bulat_Ziganshin
Дата сообщения: 23.05.2012 16:12
-mc описан здесь: http://freearc.org:8001/history/changelog_full_ru.htm от 5 февраля

srep здесь: http://freearc.org/research/SREP.aspx

комстрока: -m9x -mc$default+srep:mem256m
Автор: Bulat_Ziganshin
Дата сообщения: 16.10.2012 13:50

Цитата:
например да,

реально хочешь?


Цитата:
а потом я уже и не вспомню

как раз тут есть история. в конечном счёте надо бы сделать восстановление станд. настроек, но это уже отдельный вопрос
Автор: insorg
Дата сообщения: 23.05.2012 16:32
Bulat_Ziganshin
Это же совсем другое дело!
Спасбо!

Добавлено:
при упаковке с параметрами
a "f:\_HL1_-m9x-lc-ld-_defPsrep256m.arc" "HL1" -m9x -i2 -lc- -ld- -di -mc$default+srep:mem256m -ag"
на 14,3% архиватор споткнулся, ссылаясь на ошибку диска, хотя диск абсолютно исправен, свободно 20 гигов из 60, NTFS.
Последние строки консоли:
Цитата:
Compressing HL1\HLSourceHDC-M2\Half-Life Source HD Cinematic Pack\bin\TrackerU
I.dll
Compressing HL1\HLSourceHDC-M2\Half-Life Source\bin\TrackerUI.dll
Compressing HL1\HLSourceHDC-M2\Half-Life Source HD Cinematic Pack\bin\ServerBr
owser.dll 14.3%
ERROR: write error (disk full?) in compression algorithm srep:mem256m



Добавлено:
при параметрах
a "f:\_HL1_-m9x-defPsrep256m_.arc" HL1 -m9x -i2 -di -mc$default+srep:mem256m -ag"
аналогично:
Цитата:
Compressing HL1\HLSourceHDC-M2\HL2-HL1mod\hl1\bin.old\client.dll
Compressing HL1\HLSourceHDC-M2\Half-Life Source HD Cinematic Pack\hl1\bin\clie
nt.dll
Compressing HL1\HLSourceHDC-M2\Half-Life Source\hl1\bin\client.dll
Compressing HL1\HLSourceHDC-M2\HL2-HL1mod\hl1\bin\client.dll
Compressing HL1\HL1\HL-1111\cl\dlls\cl.dll
Compressing HL1\HL1\HL-1111\cstrike\dlls\mp.dll
Compressing HL1\HL1\HL-1111\decay\dlls\decay.dll
Compressing HL1\HL1\HL-1111\hunger3\dlls\einar.dll
Compressing HL1\HL1\HL-1111\platform\dbghelp.dll
Compressing HL1\HL1\HL-1111\platform\SteamUI.dll
Compressing HL1\HL1\HL-1111\platform\AddOns\checkers\Checkers.dll
Compressing HL1\HL1\HL-1111\platform\AddOns\chess\Chess.dll 14.3%
ERROR: write error (disk full?) in compression algorithm srep:mem256m
Автор: slech
Дата сообщения: 16.10.2012 18:40

вот пример как иногда может быть. скрин не мой, но очень реальная ситуация.
Автор: Bulat_Ziganshin
Дата сообщения: 23.05.2012 17:31
insorg
места не хватает в виндовом TEMP-каталоге, используй -wf:\
Автор: b1745923
Дата сообщения: 21.10.2012 21:45

Цитата:
Новая альфа-версия:

На этой версии(может на более ранней какой-то, не заметил) отвалилась интеграция в контекстное меню, в win8. Проблема где-то в ArcShellExt папке. Если эту папку старую оставить, например от версии за апрель, то всё нормально.
Автор: insorg
Дата сообщения: 23.05.2012 19:15
Спасибо! Отлично сработало, но, к сожалению, итоговый размерчик оказался побольше, чем у 7zip:
_HL1_7z_lzma2-dict512m_.7z          1 698 158 967    22.05.12 19:20    ra--
_HL1_-m9x-defPsrep256m_wf_.arc    1 736 032 022    23.05.12 18:41    ra--

Исходя из повторяемости данных там по факту должно в итоге быть не более 1 600 000 000 байт (есть местами дубликаты по 300-400 мб, которые 256 мб словарь не "сокращает", а оставляет дублями, как, например, делает 7zip при 256Мбайт словаре).
Как я могу ещё улучшить результат?


Добавлено:
Для эксперимента задал для srep 1024 мбайта, вышло:
_HL1_srep1024_20120523184538.arc    1 736 031 774    23.05.12 19:49    -a--
т.е., выигрыш остался мизерный.
Автор: Bulat_Ziganshin
Дата сообщения: 22.10.2012 01:30
b1745923
а ты не можешь проверить предпоследнюю версию: http://freearc.org/download/testing/0.67--2012-09-27/ ?

вроде до этого я с весны ничего не менял

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275

Предыдущая тема: Punto Switcher (часть 3)


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.