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

» Пережатиe/Pекомпрессия/Oптимизация файлов для лучшего сжатия

Автор: egor23
Дата сообщения: 22.03.2010 19:30
ALL
Сделал набросок FAQ, дорабатывайте и добавляйте в шапку

[more=FAQ...]

В: rep, srep это одно и тоже по сути? и выходит srep - лучше?
О: srep - "в чём-то лучше, в чём-то хуже"
главный плюс - найдёт повторы во всём файле.
главный минус - "дисковые операции", но это особенность работы srep, т.е. чем меньше свободной оперативной памяти на машине, где будет происходить распаковка, тем дольше это займёт времени и тем больше будет нагрузка на диск.
см. топик FreeArc там были тесты.
Если результат обработки с помощью srep такой же как и у rep, лучше использовать rep.

В: Хочу сделать Repack (перепаковать файлы игры), с чего начать?
О: Прежде всего надо начать с "анализа" имеющихся данных:
0. Провести сбор информации по этой игре, что из себя представляют её ресурсные файлы...
1. Если уже были выпущены репаки, то посмотреть как они сделаны
Если Инет не очень быстрый, то стоит остановиться на Репаках от "Релиз-групп", которые давно этим занимаются.
Ниже описывается общий подход для сжатия данных, о которых ничего неизвестно.
2. Анализ данных:
2.1. Проверить на "повторы на больших растояниях", используя для этого rep, srep
Если после srep, rep, степень сжатия незначительная 99% и т.п., то ли нет повторов, или данные чем-то упакованы, соответственно применять rep, srep неимеет смысл.
2.2. Проверить на сжатые данные (zLib or the Deflate compression method) используя precomp
2.2.1. precomp
2.2.2. precomp -slow
Если после precomp, степень сжатия 100% и т.п., соответственно применять precomp неимеет смысл.
Если после precomp, степень сжатия > 100%, то делаем п.2.1.
3. srep, rep, precomp - будут являться по-сути препроцессорами, после которых нужно будет использовать основной алгоритм сжатия, на практике используют ассиметричные алгоритмы, такие как LZMA.

В: Объясните, пожалуйста, как может помочь xdelta в сжатии данных?
О: Основная задача xdelta построить diff-файл, файл разницы между двумя файлами
вот пример использования Devil.May.Cry.4.Full-Rip.Skullptura
на сегодня для таких случаев есть srep

В: сделал exe, а при запуске получаю - не являеться приложением Win32
О1: на размер exe в Windows ограничение - 4ГБ (скорее всего в Win32)
О2: для freearc sfx можно использовать такой трюк - переименовать freearc.sfx в archive.exe, рядом положить archive.arc. тогда при запуске archive.exe будут распаковываться файлы из archive.arc

В: не отображается иконка у exe (размер exe от нескольких сотен МБ)
О: зависит от фрагментация адресного пространства процесса (Explorer \ TC и т.п.) в котором эта иконка отображаться должна...

[/more]
Автор: aganet
Дата сообщения: 22.03.2010 19:32
47STRELOK
Метро пробовал
Автор: WildGoblin
Дата сообщения: 22.03.2010 20:31
egor23

Цитата:
Сделал набросок FAQ, дорабатывайте и добавляйте в шапку

Отличный FAQ, большое спасибо!
Теперь у меня, наконец-то, дошли руки протестировать и разобратся (с вашей помощью!) что такое srep - замечательная программа! С xdelta приходилось оочень долго шаманить, чтобы ужать файл по максимуму.

Добавлено:
egor23
Ещё бы выяснить - чем лучше упаковывать файлы для последующей их обработки precomp'ом и srep'ом?
Автор: alexseb2007
Дата сообщения: 23.03.2010 02:21
подскажите с какими параметрами во FreeArc лучше сжать текстуры, видео и звуки...
Автор: V2driver
Дата сообщения: 23.03.2010 05:26
egor23
Спасибо за труд!!
На зачем же Вы раскрыли все карты??
Теперь неинтересно((( все всё знают.....
Автор: Sig666
Дата сообщения: 23.03.2010 19:58
А сколько srep нужно памяти для распаковки?
Автор: egor23
Дата сообщения: 23.03.2010 21:29
WildGoblin

Цитата:
С xdelta приходилось оочень долго шаманить, чтобы ужать файл по максимуму.

у xdelta есть свои недостатки

Цитата:
Ещё бы выяснить - чем лучше упаковывать файлы для последующей их обработки precomp'ом и srep'ом?

думаю precomp'у и srep'у глубоко, в какой "контейнер" положите данные...
будет то tar, 7-zip без сжатия, FreeArc без сжатия и т.п.

V2driver

Цитата:
На зачем же Вы раскрыли все карты??
Теперь неинтересно((( все всё знают.....

кто бы закончил FAQ, а то он не очень понятный местами, и не очень подробный.

Sig666

Цитата:
А сколько srep нужно памяти для распаковки?

мало, не больше 100МБ
Автор: Sig666
Дата сообщения: 23.03.2010 23:36
egor23

Цитата:
мало, не больше 100МБ

А что тогда значит эта цитата из faq


Цитата:
т.е. чем меньше свободной оперативной памяти на машине, где будет происходить распаковка, тем дольше это займёт времени и тем больше будет нагрузка на диск.

Или имеется в виду ситуация, когда на на момент распаковки свободно менее 100мб?
Автор: WildGoblin
Дата сообщения: 24.03.2010 01:08
egor23

Цитата:
думаю precomp'у и srep'у глубоко, в какой "контейнер" положите данные...
будет то tar, 7-zip без сжатия, FreeArc без сжатия и т.п.
Я думал что есть какие-то нюансы раз вы упаковываете в tar...

Цитата:
кто бы закончил FAQ, а то он не очень понятный местами, и не очень подробный.
Внёс его в шапку - потихоньку доработаем.

Автор: egor23
Дата сообщения: 24.03.2010 08:53
WildGoblin

Цитата:
Я думал что есть какие-то нюансы раз вы упаковываете в tar...

это просто привычка

Sig666

Цитата:
А что тогда значит эта цитата из faq

это относиться к свободной памяти вообще
у OS есть диспетчер кэша, и данные которые уже закэшировались не будут считываться повторно с диска.


Цитата:
Или имеется в виду ситуация, когда на на момент распаковки свободно менее 100мб?

если для приложения будет недостаточно памяти оно "не будет работать" и т.п.
уточнение, для распаковки нужно не более 18МБ
кстати в доках это написано

Цитата:
Decompression uses only 2*8mb buffers and no hash. Repeated data copied directly from output file, though, so you need to have enough RAM used for disk cache in order to make decompression fast.
Автор: geroinnn one
Дата сообщения: 24.03.2010 11:09
Пожалуйста помогите мне, буду очень благодарен.
Вот я пожал прикомпом файлы потом засунул их в фриаркевский архив,так вот что надо прописать в скрипте чтобы после распоковки файлов обработанные прикомпом они обратно обрабатывались в оригинал?да и что надо прописать чтобы после обратного обрабатования удалялись файлы обработанные прикомпом?Всю тему прочитал ничего не понял,можете мне пожалуйста подробно объяснить!
Заранее огромное спасибо.
Автор: V2driver
Дата сообщения: 24.03.2010 18:09
geroinnn one
http://forum.ru-board.com/topic.cgi?forum=5&topic=32449&start=755&limit=1&m=1#1
Да вобщето тут не скрипты обсуждаются!
Вам в эту тему - http://forum.ru-board.com/topic.cgi?forum=5&topic=32025&start=0


Добавлено:
Эх народ! чтоб я делал без Хdelta
Автор: WildGoblin
Дата сообщения: 24.03.2010 21:05
V2driver

Цитата:
Эх народ! чтоб я делал без Хdelta
Сколько можно флудить?
Автор: V2driver
Дата сообщения: 25.03.2010 04:09
WildGoblin
Это не флуд! я по теме написал, выразил свой восторг! или мне нужно было это отписать в теме про Inno Setup??
Автор: KOPERip
Дата сообщения: 25.03.2010 10:14
чем лучше всего обрабатывать файлы .fsb ?
Автор: DarkRix
Дата сообщения: 25.03.2010 12:20
Подскажите чем можно пережать OGM ?
Автор: Kosako
Дата сообщения: 25.03.2010 14:48
DarkRix
Может ogv?
Автор: 47STRELOK
Дата сообщения: 25.03.2010 15:49
dell
Автор: V2driver
Дата сообщения: 25.03.2010 15:51

Цитата:
чем лучше всего обрабатывать файлы .fsb ?

Ну смотря какие там внутренности, да и вобще)) телепаты из отпуска еще не вернулись - что за игра?
Автор: 47STRELOK
Дата сообщения: 25.03.2010 15:51
dell - решил сам
Автор: hataq
Дата сообщения: 25.03.2010 16:11
47STRELOK
+1, сам второй день голову ломаю, получается с вырезаными языками 2,8...
Автор: 47STRELOK
Дата сообщения: 25.03.2010 17:33
решил проблему ужалось в 1.12гб
Автор: DarkRix
Дата сообщения: 25.03.2010 18:02
Kosako
Да OGV
Автор: 47STRELOK
Дата сообщения: 25.03.2010 18:24
DarkRix
http://ffmpeg.org.ua
Автор: hataq
Дата сообщения: 25.03.2010 18:37
47STRELOK
а как если не секрет ты такова добился?

Цитата:
решил проблему ужалось в 1.12гб

Автор: 47STRELOK
Дата сообщения: 25.03.2010 18:43
hataq

Цитата:
pc0.arc - 1 048 502
pc1.arc - 1 048 572
pc1.arc - 1 048 576

их хорошо кушает precomp!!!
Автор: hataq
Дата сообщения: 25.03.2010 18:51
47STRELOK
спасибо)) с прекомпом у меня проблемы(( на 12% ошибка, 3 раза повер пак и фришку переустапавливал(((
может метод плохой? -ep1 -r -ld512mb -mm=max -m=precomp+rep:386mb:a99+exe+delta+lzma:190mb:max:bt4:273:mc10000 помогите люди добрые, хочется прекомп освоить!(((
Автор: DemonAk
Дата сообщения: 25.03.2010 19:05
Что мешает использовать более стабильную версию прекомпа?)), -m=precomp1s
Автор: hataq
Дата сообщения: 25.03.2010 19:16
DemonAk
спасибо попробуй позже, просто я в нем пока ВООБЩЕ ничего не понимаю
47STRELOK
через батник что-ли? так папками не льзя...
vint56
я качал, как бы сказать... не то, она тоже папками не сжимает( поставил пакетную обработку обрадовался, а в конце облом))
и еще такой вопрос, вот допустим у меня получилось с прекомпом я закинул его в фришку все нормально, для его распаковки нужен http://ns2.ru-board.com/topic.cgi?forum=5&topic=30239&start=0&limit=1&m=3#1 скрипт? только я не понимаю
Цитата:
Exec(ExpandConstant('{app}\precomp.exe'), ' -r data.pcf ', '', SW_HIDE, ewWaitUntilTerminated, res);

как я понимаю это происходит после распаковки архива, но если у меня будет не 1 файл.pcf то что тут надо изменить? или пойдет такое
Цитата:
Exec(ExpandConstant('{app}\precomp.exe'), ' -r *.pcf ', '', SW_HIDE, ewWaitUntilTerminated, res);
, и как я понял нужно в скрипте указать файл precomp.exe но какой версии? и какие dll'ки? извините за нубские вопросы просто я пытаюсь долгое время понять что к чему...
Автор: 47STRELOK
Дата сообщения: 25.03.2010 19:18
а ещё лучше прекомп через cmd.exe как делаю я, а не через FreArc!

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100

Предыдущая тема: Надстройки IE8


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