by Pack Yuuyake |
Установка
Пакеты для
optipng
, pngcrush
, advpng
находятся в репозитории Ubuntu, далеко ходить не надо:sudo aptitude install optipng pngcrush advancecomp
pngout
пришлось скачивать со страницы проекта. Компиляции удалось избежать, в архиве заботливо упаковали бинарники для разных архитектур. В тестах использовал pngout-static
.Метод сравнения
Время работы утилит никак не учитывалось. Файлы обрабатывал, что называется, на максимальных настройках с наиболее агрессивными параметрами.
optipng -o7 foo.png pngcrush -rem alla -brute -reduce foo.png foo.png.temp pngout foo.png advpng -z4 foo.png
Основным и единственным критерием стал уровень сжатия файла после оптимизации. Всего обработал 14 файлов (снимки экрана, иконки, мелкие пиктограммы). Попугаи начислялись следующим образом: после обработки в зависимости от эффективности программа получала в карму от четырёх (за первое место) до одного балла. Далее, путём сложных математических преобразований с участием ∑ определил победителя забега оптимизаторов png. Таблицу с результатами разместил в GDocs, дабы не грузить всех техническими подробностями.
Сухой остаток
По предварительным и постварительным данным удалось выявить победителя. Лучше всего с представленным зоопарком картинок справились advpng и pngout (набрали по 38 баллов). Перечисленные программы чаще всего демонстрировали наилучшие показатели (5 и 6 первых результатов соответственно).
Итак, коль надумаете облегчить графику, выбирайте титулованные инструменты ;-)
UPD: Для повседневных задач существует GUI под названием Trimage. По сути программа незаметно дёргает за верёвочки
optipng
, advpng
и jpegoptim
в зависимости от типа файла (png, jpeg).Ссылки по теме:
- PNG-Tech — описание алгоритма и статьи об optipng
- Оптимизация PNG и JPEG без потери качества.
8 комментариев: ответить
А их же можно все вместе запускать поочереди?) Png, это ж беспотерьное сжатие..
@Pilot34
Запустить поочередно никто не мешает, но результат будет таким же, как и после наиболее эффективного алгоритма. Смысла нет.
А параметры компрессии во всех случаях указывались максимальные?
@timyr-lan
Да, для каждого скакуна максимальные уровни выставлены.
спасибо за обзор и табличку с результатами, очень пригодятся
Акулович, хомячки негодуют ;-) Тому есть несколько причин:
1. Паркуа бы собственно не па внедрить табличку (классную, кстати) в сам пост? ГугельДокс могёт такое? А то ходить по ссылкам лениво и вообще не комильфо. Общественность требует внедрёж :-)
2. Общественности так же лениво читать маны и выцеживать оттуда настройки. Хочется увидеть в посте те параметры, которые ты использовал для тестов. Замечание в сторону: когда будешь писать диплом\статьи\конференции, там точно такое же правило - пиши в максимальных подробностях, как ты получил свои результаты. А то меня уже бесит читать всяких узкоглазых, которые в статьях приводят левые результаты без описаний того, как получено.
3. может, авторы этих проектов расколятся, какие алгоритмы они использовали? Ссылки на статьи добавят посту крутизны и солидности.
В принципе, суть раскрыта, понятно, чем надо пользоваться.
А табличку нужно внедрить =)
@Leolik
Всегда пожалуйста. Буду рад, если сей скромный труд поможет определиться с выбором.
@virens
> Общественность требует внедрёж :-)
Придётся поддаться под напором общественности :-) Я не хотел встраивать таблицу по одной единственной причине — она не вмещается по горизонтали, посему потребует изрядной прокрутки.
> Общественности так же лениво читать маны и выцеживать оттуда настройки.
Настройки вставил в пост. Спасибо за замечание, моё упущение, виноват.
> Ссылки на статьи добавят посту крутизны и солидности.
К сожалению, чего-то конкретного найти не удалось. Только на странице optipng попался список статей по мотивам.
@хомячки
Done :-)