Минутку...(/)
В данный момент мы оптимизируем ваши изображения. Пожалуйста, подождите немного, пока мы обеспечим высокое качество результатов.
Отлично, мы успешно сжали ваши изображения.
Изображения оптимизированы.
В данный момент мы оптимизируем ваши изображения. Пожалуйста, подождите немного, пока мы обеспечим высокое качество результатов.
Изображения оптимизированы.
Загрузите два GIF-файла на эту страницу, и один уменьшится на 40 процентов, а другой — совсем не изменится. Это не ошибка инструмента, и важно понимать причину до загрузки, потому что именно это чаще всего сбивает с толку при работе с GIF. У GIF нет ползунка качества. Внутри него нечего «обменять» на меньший размер, как это возможно у JPEG. Всё, что может сделать сжиматель GIF — это убрать повторения, поэтому результат почти полностью зависит от того, сколько повторяющихся данных было в вашем файле изначально.
В двух местах, и ни одно из них не связано с изображением так, как это понимает фотограф. Первое — это цветовая таблица: каждый GIF содержит палитру до 256 цветов, а анимированный GIF может иметь отдельную палитру для каждого кадра. Второе — это сами кадры. Если GIF записан неаккуратно, каждый кадр хранится полностью, и весь холст перерисовывается тридцать раз, чтобы передвинуть по экрану один маленький прямоугольник.
Поэтому задача — объединить эти палитры каждого кадра в одну общую таблицу и перестать повторно сохранять то, что не изменилось. Ни один из этих шагов не затрагивает ваши цвета. В первом тесте ниже 29 отдельных палитр кадров были объединены в одну глобальную таблицу, файл потерял 40 процентов веса, а четыре выбранных цвета остались абсолютно такими же, как были на входе.
Мы пропустили через эту страницу шесть файлов и записали количество байт на выходе.
| Файл | Исходный | Результат | Изменение |
| Анимация с записи экрана, 30 кадров, 640 на 400 | 41 699 байт | 24 994 | -40,1% |
| Одиночный кадр с прозрачным фоном | 1 990 байт | 1 861 | -6,5% |
| Анимация уже плотно закодирована, 24 кадра | 334 312 байт | 334 027 | -0,1% |
| Одиночный кадр уже на одной компактной палитре | 56 676 байт | 56 676 | 0% |
| Восьмикадровая анимация с комментариями, XMP, GPS и цветовым профилем | 15 850 байт | 9 953 | -37,2% |
| PNG, загруженный на эту страницу | 703 830 байт | 74 379 | -89,4% |
В первой строке — запись экрана: тридцать кадров, большая часть холста одинакова от кадра к кадру, и почти у каждого кадра своя палитра. Было много повторений для удаления. В пятой строке — одиночный кадр уже на компактной палитре из 256 цветов, поэтому убирать было нечего, и он вернулся ровно с тем же размером — 56 676 байт.
Это честная версия обещания, которое многие страницы в поисковой выдаче дают слишком громко. Если ваш GIF получен из видеоконвертера, программы записи экрана или старого пресета экспорта — ожидайте реальную экономию. Если файл уже прошёл через оптимизатор, не ждите многого, а нулевой результат воспринимайте как честный ответ инструмента, а не попытку «выжать» процент за счёт ухудшения качества.
Мы проверили это на уровне байтов, а не просто посмотрев воспроизведение. Сжатый файл с тридцатью кадрами по-прежнему содержал тридцать кадров, тридцать блоков времени с исходной задержкой в 80 миллисекунд и расширение цикла, которое сообщает браузеру повторять анимацию. Размер холста остался 640 на 400. Ничто не было преобразовано в статичное изображение, и ни один кадр не был удалён ради красивой цифры.
Прозрачный GIF стал меньше на 6,5 процента. Мы нарисовали результат на холсте и считали четыре пикселя: угол остался полностью прозрачным, красный — всё так же 220, 40, 60, а белый — абсолютно чисто-белым. Та же проверка для тридцатикадровой анимации показала, что её синий в заголовке, серый страницы, серый строки и красная рамка не изменились после уменьшения на 40 процентов. Экономия достигается за счёт удаления повторений, а не приближения цветов, и именно этого стоит ожидать.
Сжиматель может удалить только то, что повторяется. Он не может решить, что ваша анимация слишком длинная или что ей не нужно быть шириной 800 пикселей. Эти решения принимаются до загрузки файла на страницу, и именно они определяют нижний предел. Арифметика проста: GIF весит примерно столько, сколько площадь холста, умноженная на количество кадров, так что уменьшение ширины и высоты вдвое убирает примерно три четверти размера, а снижение частоты кадров с тридцати до двенадцати обычно незаметно на коротких роликах. Если сжатый GIF всё ещё тяжелее, чем хотелось бы, эти два параметра изменят размер гораздо сильнее любого оптимизатора.
GIF может содержать удивительно много невидимого текста, причём не в одном месте. Есть блоки комментариев, которые в анимации могут быть на каждом кадре. Есть пакет XMP, где Photoshop и другие инструменты Adobe хранят марку и модель камеры, автора, строки авторских прав и GPS-координаты. Есть plain-text расширения и цветовые профили. Всё это не видно при просмотре картинки.
Мы создали файл, в котором было всё: десять блоков комментариев, полный XMP-пакет с широтой, долготой, высотой и датой съёмки, марка и модель камеры, программа, которая его записала, строка с авторством и уведомление об авторских правах, цветовой профиль и plain-text расширение. Затем мы пропустили его через эту страницу и проверили результат с помощью инструмента для чтения метаданных. Всё это исчезло. Восемь кадров остались восемью, а анимация всё так же зациклена.
Это происходит одновременно со сжатием, поэтому не требует дополнительных действий и не нужно загружать файл повторно. Это также объясняет результат, который может показаться странным: файл может стать меньше даже если сжиматель не нашёл повторений, потому что исчезает сопровождающий его текст.
Загрузчик также принимает PNG, JPG, JPEG, WEBP, AVIF, SVG, TIFF, BMP и JFIF, и каждый файл возвращается в том же формате, в каком был загружен. PNG из таблицы выше был загружен как PNG и вернулся как PNG, всё так же 1400 на 900 в заголовке. Попадание на страницу GIF не превращает ваши изображения в другой формат.
Для фотографий, а не анимаций, Удалить метаданные фотографии очищает EXIF и GPS без повторного перекодирования изображения.
Если ваш GIF — это одиночный кадр, а не анимация, Сжать PNG обычно подходит лучше.
А для того же содержимого в формате, разработанном намного позже 1987 года, Сжать WebP работает и со статикой, и с анимацией.