Проблема с сжатием

Извиняюсь что достаю вас, но есть ли способ распаковки архивов через reflate_srep_arc_GOZARCK.7z в Inno Setup ?
 
Спасибо огромное, результат офигенный, почти вдвое сжимает некоторые файлы :drinks:

Можете пример дать как сразу папку через батник сжимать и как в inno setup прописать распаковку ?
У меня вроде получилось сжать папками (Смотри вложение), а как в инно прописать, самому интересно:)
 

Вложения

Всем спасибо за ответы, всё работает))))

Теперь ясно как они умудрились так сжать её, посмотрим как долго устанавливаться будет)))
 
vint56,
Вот за каким чёртом ты это сделал, видимо пиратки GTA 4 с устновкой в одни сутки было мало, теперь ЖТА 5 с устоновкой в двое суток надо.

Armenish,
paq тогда уж после рефлейта можно заюзать чтоб наверняка меньше всех.
 
Последнее редактирование:
ачо reflate круче precomp'a?
вроде одно и тоже делают O_o
реквестирую cls для фриарка :3
 
Snoopak96, тут дело не в размере, вот столько людей откликнулись и помогли, практически на блюдечке всё поднесли и помогли разобраться и понять как это 60 гб ужали до 35.

А вот этот скотина ситер даже сказать не хотел как добился такого сжатия, а сам он небось на этом же форуме узнал как ужать её и теперь выдает якобы за своё, недопрогер хренов он короче!
 
Здесь 2 выбора
1 качать 60 гигов
2 35 но время установки очень долгое и каждый сам решит что ему качать
тест на время
x64f.rpf после reflate_srep_lzma время создания архива 17 минут вес 1 028 757 504 байт после 513 153 332 байт распаковка 12 минут занимает
 
Последнее редактирование:
vint56, по мне так в репаке вообще нет смысла, игра уже 5 дней как валяется на трекерах, даже у кого скорость слабая мог бы уже скачать, а в день релиза просто скопировать кряк сверху.
 
ачо reflate круче precomp'a?
вроде одно и тоже делают
реквестирую cls для фриарка

Нет, не одно и то же, с технической точки зрения. И нет, reflate не круче precomp-а.

Precomp
сканирует входные данные на предмет наличия в них заголовка сжатого deflate потока. Как только такой заголовок найден, Precomp пытается расжать его и делает он это, исходя из предположения, что это "правильный" поток, не выходящий за рамки deflate спецификации. Если поток удалось расжать, то precomp начинает "драчить" этот поток, перебирая комбинации уровня сжатия zlib и уровни памяти. А таких комбинаций может быть 81 штука.
Если повезло и некая комбинация дала сжатый поток идентичный тому, что был найден, то расжатый поток пишется в pcf файл и precomp переходит к следующему.

Reflate
тоже сканирует данные и ищет сжатые потоки, и пытается их расжать. Но на основе собственной реализации deflate, которая учитывает некоторые нестандартные реализации сжатия.
Это и хорошо и плохо. Хорошо тем, что некоторые потоки, которые не расжались precomp-ом, расжимаются через Reflate. Плохо тем, что подобная реализация, для успешного восстановления сжатого потока, использует трюк.
Когда reflate расжал поток, то он в отличии от precomp, ничего не "дрочит". Он не знает с каким уровнем сжатия\памяти был сделан поток и ему на это даже наплевать. Для успешного воссоздания оригинального сжатого потока, reflate использует файлы коррекции, которые позволяют получить идентичность. Вы сами можете увидеть эти файлы в папке, где находятся расжатые потоки. Это файлы с расширением hif. Именно поэтому reflate гораздо медленнее Precomp и именно поэтому reflate менее эффективен чем precomp на тех данных, где precomp видит и обрабатывает сжатые потоки.

А теперь самое неприятное.
Мало того, что reflate медленный, так он еще и глючный.
1. Нет поддержки больших файлов.
Вы можете не заметить этого, так как в некоторых версиях, при достижении некого порога, reflate просто начнет либо перезаписывать текущие unp файлы, либо создавать новые с адресами, которые перехлестнут другие данные. Сколько осилит reflate на ваших данных - предсказать невозможно.
Так что если кто планирует заюзать reflate на 60 ГБ данных - не тратьте свое время.​
2. reflate может встать колом на ровном месте или крэшнуться, или вызвать ошибку распаковки.
В результате долгих тестов выяснилось, что на некоторых потоках, reflate теряет несколько байт и создает сжатый поток, который короче оригинального, либо просто крэшится.
Можете попробывать взять прикрепленный файл, извлечь из него reflate_error.dat и попробывать сжать.​
3. В reflate нет рекурсии.
Так что на данном этапе, Reflate - это эксперимент, непригодный для использования.
 

Вложения

Последнее редактирование:
Skymmer, а кроме Precomp и Reflate есть что-то другое для разжатия ? Я думаю механики как раз Reflate и используют часто, хз.

Сжимать прекомпом в брут режиме нереально просто, на это года уйдут :unknown:

П.С. если хеш сумма извлеченных файлов совпадает с оригиналом, получается что файлы точно не были повреждены, ведь если при распаковке файлы теряют байты то размер не может же совпадать ?
 
Последнее редактирование:
Разжимать гта 5 прекомпом или рефлейтом это уже идиотизм. Пока 16 гигабайтный гта 4 установится обалдеть можно, а тут их 60 (без видео аудио наверное 40 гб).
 
почитал еще это, голова заболела...
а level нужно подбирать путем перебора (1-9) ? или он толком ни на что не влияет?
и эти dll'ки для кого, ктонить в курсе?
так то он не очень и медленный, если все операции в памяти делаются. На HDD конечно хреново наверно, все таки из одного 500 мегов файла, получать ~15к штук мелких -- это жуть для диска
 
кому интересна более тесная интеграция reflat'а с фриарком, смотрите прикрепленный файл
как пользоваться?
закидываете файлы из архива в директорию фриарка (сам фриарк должен быть в %PATH% само собой)
далее обычным способом, например так: reflate:l6:s100:t4+rep:512mb+lzma:64mb:max
в итоге reflate отработает в режиме компрессии 6 (l6), пропустит блоки меньше 100 байт (s100) и все это в 4 потоках (t4) :3
хотя если %TEMP% на HDD, от мультипоточности толку наверно небуит...

возможны баги в батнике, дайте знать, если что.
 

Вложения

toolame, а что по поводу распаковки в inno setup ? что-то можно сделать чтоб прогрессбар нормально отображался ?

P.S. а как в батнике прописать ?

arc.exe a -ep1 -dses --dirs -s; -wD:\ -lc- -di -i2 -r -reflate:l6:s100:t4+srep:l512+lzma:a1:mfbt4:d200m:fb128:mc1000:lc8 Data.bin Data\*
pause

Так не работает
 
Последнее редактирование:
П.С. вопрос по поводу прогрессбара еще актуален, через records.inf не работает, прогрессбар при распаковке несколько заново начинается.

Можно как-то совместить распаковку батника с работой прогрессбара ?
 
Назад
Сверху