Большой Воронежский Форум
» Программирование>Чем архивировать?
DeniSS1 14:53 19.06.2008
Нужно хорошенько сжать (процентов на 50% и больше) небольшую демку (демо-сцену). При запуске exe-шника она должна разархивироваться сама (т.е. WinRAR не катит). [Ответ]
Pengvin 15:36 19.06.2008
zlib правда степень сжатия зависит от контента и тд
http://zlib.net.ru/ [Ответ]
Part!zan 19:02 20.06.2008
DeniSS1, UPX

Сообщение от :
zlib

Тогда уж, lzma. [Ответ]
trox 18:13 28.06.2008

Сообщение от DeniSS1:
Нужно хорошенько сжать (процентов на 50% и больше) небольшую демку (демо-сцену). При запуске exe-шника она должна разархивироваться сама (т.е. WinRAR не катит).

А почему же не катит? С помощью винрара можно сделать SFX-архив с выбором,какой экзешник запускать.Можно также попробовать 7zip. Прибавка будет думаю килобайт 50-70. Это естественно,если нужно сделать быстро и без малой крови=)
Можно также попробовать UPX,как написал Part!zan или WinUpack(раньше он лучше чем UPX, жаль вот только антивири его не любят). [Ответ]
DeniSS1 19:50 28.06.2008
trox, т.е. в WinRare можно сделать самораспаковывающийся архив? Спс, не знал. [Ответ]
trox 20:21 28.06.2008

Сообщение от DeniSS1:
trox, т.е. в WinRare можно сделать самораспаковывающийся архив? Спс, не знал.

Да,можно. А также в WinUha(очень сильно жмет,вот только не знаю,может ли он запускать файлы после распаковки) ,7zip тоже умеет вроде запускать файл(см. в хэлпе switch -sfx).
Но самое простое-это пакер UPX (http://upx.sourceforge.net/download/upx303w.zip)
Достаточно команды- upx.exe -9 ИмяФайла.EXE ,где 9 самое сильное сжатие [Ответ]
trox 20:37 28.06.2008
Вспомнил один сайт,у меня в закладках был.
http://and.intercon.ru/#r19
Это сайт воронежского программера,написавшего супер демо Zoom3,которое победило на международном конкурсе демо-сцен Assembly'03. Там же можешь их скачать,меня впечатлило,как можно столько засунуть в 64кб=)На сайте есть ANDpakk2-как раз для сжатия демо-сцен,если я правильно понял. [Ответ]
Part!zan 03:02 29.06.2008

Сообщение от trox:
где 9 самое сильное сжатие

Тут ты не прав. Самое сильное сжатие дает параметр --best.

Сообщение от trox:
как можно столько засунуть в 64кб

Да ты нормальных демок просто не видел. Имхо зум3 - вполне проходная демка - очередные полеты между трубами. Есть гораздо более оригинальные и симпатишные 64к демы.
[Ответ]
trox 19:53 29.06.2008

Сообщение от Part!zan:
Тут ты не прав. Самое сильное сжатие дает параметр --best.

Да есть такой параметр.Я имел в виду от 1 до 9,где 9-самое сильное сжатие.Просто не написал.
Да и честно говоря,никогда этот параметр не использовал.Там еще можно удалить много чего=)

Но для интереса,провел тест:
Файл Illustrator.exe -11 066 kb
"upx -9 Illustrator.exe" -3 355 kb (22 секунды)
"upx -9 --best Illustrator.exe" -3 353 kb (47 секунд)

Не думаю,что стоит использовать --best из-за 2 кб и столько времени ждать.
Хотя опять же все зависит от задачи,кому-то и 2 кб-играют роль,а кому-то достаточно использовать параметр -5,для среднего сжатия.
з.ы.Но ты прав,про --best я забыл=)

Сообщение от Part!zan:
Да ты нормальных демок просто не видел. Имхо зум3 - вполне проходная демка - очередные полеты между трубами. Есть гораздо более оригинальные и симпатишные 64к демы.

Может быть.Есть у меня где-то демка,где женщина типа танцует=) Но и zoom3 думаю заслужила тогда 1 место. [Ответ]
Part!zan 01:13 30.06.2008
trox, вообще-то, --best это независимый параметр. Он круче, чем -9 и его достаточно одного указать. А 2 кб могут быть очень даже важны. Для демок, например
В качестве финального оффтопа, во тебе реально красивая демка.
Изображения
[Ответ]
trox 22:09 30.06.2008

Сообщение от Part!zan:
trox, вообще-то, --best это независимый параметр. Он круче, чем -9 и его достаточно одного указать.

действительно. Я думал,это дополнительный параметр.

Сообщение от Part!zan:
А 2 кб могут быть очень даже важны. Для демок, например

Угу.Про это я выше писал=)
з.ы.Демка понравилась,но у зум3 думаю есть свои достоинства.
Демка MeetTheFamily приколола,ничего особенного,но посмотреть интересно.
coolfr030-candytron- трехмерная модель женщины.Прикрепил,т.к. выше о ней написал=)
Изображения
[Ответ]
Daemon 19:56 05.07.2008
Не забываем читать мануалы - "upx --ultra-brute" Upack не всегда айс, попробуй на висте. [Ответ]
][irurg 21:12 05.07.2008
с ума сойти. давно не смотрел демок был поражен как шагнули технологии.
как они это делают? очевидно что ассемблер и прямое обращение к функциям директх/опенжл, но всего же 64 000 байтов ! что бы все координаты описать больше надо, а тут ещ етекстуры и текст [Ответ]
Part!zan 22:24 05.07.2008
][irurg, да там ниче сложного нету. Текстуры и сэмплы генерятся в реальном времени, а текстом обычно "добивают" размер до 64к )

Сообщение от Daemon:
"upx --ultra-brute"

так это просто перебор всех возможных вариантов компрессии... не факт, что получится лучше. [Ответ]
DeniSS1 11:53 06.07.2008
][irurg, наверняка это фракталы: большинство координат не задаются, а тоже генерируются по специальной формуле. [Ответ]
Daemon 19:18 06.07.2008

Сообщение от Part!zan:
так это просто перебор всех возможных вариантов компрессии... не факт, что получится лучше.

Лучше чем --best ? Рульнее upx пока еще ничего нет по универсальности-сжимаемости-совместимости. [Ответ]
Part!zan 19:43 06.07.2008

Сообщение от Daemon:
Лучше чем --best ?

Ну есессно... [Ответ]
Daemon 00:15 07.07.2008
Гы. --best курит в сторонке. Дальше промолчу, есть сырки upx, тама все видно. [Ответ]
Part!zan 00:20 07.07.2008
Daemon, если бест использовал сразу наилучший алгоритм, то с чего ультрабрут будет лучше? Он просто перебирает разные варианты и не факт, что получится лучше, чем бест. Впрочем, я уже это говорил... [Ответ]
Daemon 00:35 07.07.2008

Сообщение от Part!zan:
если бест использовал сразу наилучший алгоритм

Дайте мне йаду. На основе чего работает бэст? --crp-ms не надо указывать?
PS:
case 902: // --ultra-brute
opt->ultra_brute = true;
/* fallthrough */
case 901: // --brute
opt->all_methods = true;
opt->all_methods_use_lzma = true;
opt->method = -1;
opt->all_filters = true;
opt->filter = -1;
opt->crp.crp_ucl.m_size = 999999;
/* fallthrough */
case 900: // --best
if (!set_method(-1, 10))
e_method(opt->method, 10);
break;
[Ответ]
Part!zan 19:25 07.07.2008
Daemon, ладно, верю на слово. Но времени он тратит просто дофига на перебор... Вчера попробовал сжать фотошоп... Минут 40 он его мучал... [Ответ]
Daemon 22:04 07.07.2008
Part!zan, а "вам шашечки или ехать" ?
Ес-но перебираем варианты и выдаем лучшее. Файл шопа метров этак 40. Ес-но время займет.
[Ответ]
Вверх