gifsicle --lossy: сколько можно выжать
Начиная с версии 1.92 в gifsicle есть ключ --lossy: он немного меняет цвета пикселей так, чтобы LZW находил больше повторов. Формат остаётся обычным GIF, открывается везде.
gifsicle -O3 --lossy=40 -o out.gif in.gif
Как тестировал
52 файла: записи экрана, нарезки из видео, пиксель-арт. Каждый прогнал с -O3 и значениями lossy от 0 до 200, артефакты оценивал на глаз на обычном мониторе.
Результаты
| --lossy | Средняя экономия | Артефакты |
|---|---|---|
| 0 (только -O3) | 8% | нет |
| 20 | 22% | не видно |
| 40 | 33% | редко, на градиентах |
| 80 | 45% | заметная «грязь» |
| 200 | 58% | сильные полосы |
Выводы
--lossy=30…40— разумный дефолт для всего, кроме пиксель-арта.- Пиксель-арт лучше не трогать lossy вообще: там каждый пиксель на своём месте, а выигрыш маленький.
- Порядок важен: сначала нормальная палитра в ffmpeg, потом gifsicle. Наоборот работает хуже.