вход на сайт

Имя пользователя :
Пароль :

Восстановление пароля Регистрация

Оптимизация изображения

  1. Исключение и замена изображений
  2. Векторные и растровые изображения
  3. TL; DR
  4. Оптимизация векторных изображений
  5. Оптимизация растровых изображений
  6. Сжатие изображений без потерь и с потерями
  7. TL; DR
  8. Доставка масштабированных изображений
  9. Контрольный список оптимизации изображения

Изображения часто составляют большую часть загруженных байтов на веб-странице, а также часто занимают значительное количество визуального пространства. В результате оптимизация изображений часто может привести к значительному увеличению экономии байтов и повышению производительности вашего веб-сайта: чем меньше байт загружается браузером, тем меньше конкуренция за пропускную способность клиента и тем быстрее браузер может загружать и отображать полезные данные. содержание на экране.

Оптимизация изображения - это и искусство, и наука: искусство, потому что нет единого точного ответа о том, как лучше всего сжать отдельное изображение, и наука, потому что есть много хорошо разработанных методов и алгоритмов, которые могут значительно уменьшить размер изображения. Поиск оптимальных настроек для вашего изображения требует тщательного анализа по многим параметрам: возможности форматирования, содержание закодированных данных, качество, размеры в пикселях и многое другое.

Исключение и замена изображений

TL; DR

  • Устранить ненужные ресурсы изображения
  • Используйте эффекты CSS3, где это возможно
  • Используйте веб-шрифты вместо кодирования текста в изображениях

Самый первый вопрос, который вы должны задать себе, - действительно ли требуется изображение для достижения желаемого эффекта. Хороший дизайн прост, а также всегда даст лучшую производительность. Если вы можете исключить ресурс изображения, который часто требует большого количества байтов относительно HTML, CSS, JavaScript и других ресурсов на странице, то это всегда лучшая стратегия оптимизации. Тем не менее, удачно расположенное изображение может также передавать больше информации, чем тысяча слов, так что вы должны найти этот баланс.

Далее, вы должны рассмотреть, есть ли альтернативная технология, которая могла бы дать желаемые результаты, но более эффективным способом:

  • Эффекты CSS (градиенты, тени и т. Д.) И анимации CSS можно использовать для создания ресурсов, не зависящих от разрешения, которые всегда выглядят четкими при любом разрешении и уровне масштабирования, часто с долей байтов, необходимых для файла изображения.
  • Веб-шрифты позволяют использовать красивые шрифты, сохраняя при этом возможность выделять, искать и изменять размер текста, что значительно повышает удобство использования.

Если вы когда-нибудь обнаружите, что кодируете текст в активе изображения, остановитесь и пересмотрите его. Хорошая типографика имеет решающее значение для хорошего дизайна, брендинга и читабельности, но текст в изображениях обеспечивает плохое восприятие пользователя: текст не выбирается, не доступен для поиска, не масштабируется, не доступен и не подходит для устройств с высоким разрешением. Использование веб-шрифтов требует собственный набор оптимизаций , но он решает все эти проблемы и всегда является лучшим выбором для отображения текста.

Векторные и растровые изображения

TL; DR

  • Векторные изображения идеально подходят для изображений, которые состоят из геометрических фигур
  • Векторные изображения не зависят от масштаба и разрешения
  • Растровые изображения следует использовать для сложных сцен с большим количеством неправильных форм и деталей.

Как только вы определили, что изображение на самом деле является оптимальным форматом для достижения желаемого эффекта, следующий важный выбор - выбрать подходящий формат:

  • Векторная графика используйте линии, точки и многоугольники для представления изображения.
  • Растровая графика представлять изображение путем кодирования отдельных значений каждого пикселя в прямоугольной сетке.

Каждый формат имеет свой набор плюсов и минусов. Векторные форматы идеально подходят для изображений, которые состоят из простых геометрических фигур (например, логотипов, текста, значков и т. Д.) И дают четкие результаты при любом разрешении и настройке масштаба, что делает их идеальным форматом для экранов с высоким разрешением и активы, которые должны отображаться в различных размерах.

Тем не менее, векторные форматы терпят неудачу, когда сцена является сложной (например, фотография): количество разметки SVG для описания всех форм может быть чрезмерно высоким, и результат может все еще не выглядеть «фотореалистичным». В этом случае вам следует использовать формат растрового изображения, например GIF, PNG, JPEG, или один из более новых форматов, таких как JPEG-XR и WebP.

Растровые изображения не обладают такими же хорошими свойствами, как независимость от разрешения или масштабирования - при увеличении растрового изображения вы увидите неровную и размытую графику. В результате вам может потребоваться сохранить несколько версий растрового изображения с различным разрешением, чтобы обеспечить оптимальную работу для ваших пользователей.

TL; DR

  • Экраны высокого разрешения имеют несколько пикселей устройства на пиксель CSS
  • Изображения с высоким разрешением требуют значительно большего количества пикселей и байтов
  • Методы оптимизации изображения одинаковы независимо от разрешения

Когда мы говорим о пикселях изображения, мы должны различать различные виды пикселей: пиксели CSS и пиксели устройства. Один пиксель CSS может содержать несколько пикселей устройства - например, один пиксель CSS может напрямую соответствовать одному пикселю устройства или может поддерживаться несколькими пикселями устройства. В чем смысл? Чем больше пикселей устройства, тем мельче детализация отображаемого содержимого на экране.

Экраны с высоким разрешением (HiDPI) дают прекрасные результаты, но есть один очевидный компромисс: нашим ресурсам изображений требуется больше деталей, чтобы использовать преимущества более высокого числа пикселей устройства. Хорошая новость заключается в том, что векторные изображения идеально подходят для этой задачи, поскольку они могут отображаться при любом разрешении с резкими результатами - мы можем понизить стоимость обработки, чтобы получить более мелкие детали, но базовый актив остается тем же и не зависит от разрешения. ,

С другой стороны, растровые изображения представляют собой гораздо более сложную задачу, поскольку они кодируют данные изображения на основе каждого пикселя. Следовательно, чем больше количество пикселей, тем больше размер файла растрового изображения. В качестве примера рассмотрим разницу между фото активом, отображаемым в пикселях 100x100 (CSS):

Разрешение экрана Всего пикселей Несжатый размер файла (4 байта на пиксель) 1x 100 x 100 = 10000 40000 байт 2x 100 x 100 x 4 = 40 000 160 000 байтов 3x 100 x 100 x 9 = 90 000 360 000 байтов

Когда мы удваиваем разрешение физического экрана, общее количество пикселей увеличивается в четыре раза: удваивает количество горизонтальных пикселей, вдвое увеличивает количество вертикальных пикселей. Следовательно, «2x» экран не просто удваивает, а увеличивает количество необходимых пикселей в четыре раза!

Итак, что это означает на практике? Экраны высокого разрешения позволяют нам создавать прекрасные изображения, что может быть отличной особенностью продукта. Однако для экранов с высоким разрешением также требуются изображения с высоким разрешением: предпочитайте векторные изображения, когда это возможно, поскольку они не зависят от разрешения и всегда дают четкие результаты, а если требуется растровое изображение, доставляйте и оптимизируйте несколько вариантов каждого изображения с помощью srcset и изображение ,

Оптимизация векторных изображений

TL; DR

  • SVG - это формат изображения на основе XML
  • SVG файлы должны быть уменьшены, чтобы уменьшить их размер
  • SVG файлы должны быть сжаты с GZIP

Все современные браузеры поддерживают масштабируемую векторную графику (SVG), которая представляет собой формат изображения на основе XML для двумерной графики: мы можем встроить разметку SVG непосредственно на страницу или в качестве внешнего ресурса. В свою очередь, файл SVG может быть создан большинством программ для векторного рисования или вручную и непосредственно в вашем любимом текстовом редакторе.

&lt;? xml version = "1.0" encoding = "utf-8"?> <! - Генератор: Adobe Illustrator 17.1.0, плагин экспорта SVG. Версия SVG: 6.00 Build 0) -> <svg version = "1.2" baseProfile = "tiny" id = "Layer_1" xmlns = "http://www.w3.org/2000/svg" xmlns: xlink = "http : //www.w3.org/1999/xlink "x =" 0px "y =" 0px "viewBox =" 0 0 612 792 "xml: space =" preserve "> <g id =" XMLID_1 _ "> <g> <circle fill = "red" stroke = "black" stroke-width = "2" stroke-miterlimit = "10" cx = "50" cy = "50" r = "40" /> </ g> </ g > </ svg>

Приведенный выше пример отображает простую форму круга с черным контуром и красным фоном и был экспортирован из Adobe Illustrator. Как вы можете сказать, он содержит много метаданных, таких как информация о слоях, комментарии и пространства имен XML, которые часто не нужны для визуализации ресурса в браузере. В результате, всегда полезно минимизировать ваши SVG-файлы, используя такой инструмент, как svgo ,

Например, svgo уменьшает размер вышеупомянутого SVG-файла, сгенерированного Illustrator, на 58%, увеличивая его с 470 до 199 байт. Кроме того, поскольку SVG является форматом на основе XML, мы также можем применять сжатие GZIP для уменьшения объема передаваемых данных - убедитесь, что ваш сервер настроен для сжатия ресурсов SVG!

Оптимизация растровых изображений

TL; DR

  • Растровое изображение - это сетка пикселей
  • Каждый пиксель кодирует информацию о цвете и прозрачности
  • Компрессоры изображений используют различные методы, чтобы уменьшить количество требуемых бит на пиксель, чтобы уменьшить размер файла изображения

Растровое изображение - это просто двумерная сетка отдельных «пикселей» - например, изображение размером 100x100 пикселей представляет собой последовательность из 10000 пикселей. В свою очередь, каждый пиксель хранит RGBA «значения: (R) красный канал, (G) зеленый канал, (B) синий канал и (A) альфа (прозрачность) канал.

Внутренне браузер выделяет 256 значений (оттенков) для каждого канала, что переводится в 8 бит на канал (2 ^ 8 = 256) и 4 байта на пиксель (4 канала x 8 бит = 32 бита = 4 байта). В результате, если мы знаем размеры сетки, мы можем легко рассчитать размер файла:

  • Изображение размером 100 x 100 пикселей состоит из 10000 пикселей.
  • 10000 пикселей x 4 байта = 40000 байтов
  • 40000 байт / 1024 = 39 КБ

Размеры Пиксели Размер файла 100 x 100 10 000 39 КБ 200 x 200 40 000 156 КБ 300 x 300 90 000 351 КБ 500 x 500 250 000 977 КБ 800 x 800 640 000 2500 КБ

39 КБ для изображения размером 100x100 пикселей может показаться не таким уж большим делом, но размер файла быстро увеличивается для больших изображений и делает ресурсы изображений медленными и дорогими для загрузки. К счастью, мы описали формат «несжатого» изображения. Что мы можем сделать, чтобы уменьшить размер файла изображения?

Одна из простых стратегий состоит в том, чтобы уменьшить «битовую глубину» изображения с 8 бит на канал до меньшей цветовой палитры: 8 бит на канал дают нам 256 значений на канал и в общей сложности 16 777 216 (256 ^ 3) цветов. Что если мы уменьшим палитру до 256 цветов? Тогда нам потребуется всего 8 бит для каналов RGB и сразу же сохранить два байта на пиксель - это 50% экономии сжатия по сравнению с нашими первоначальными 4 байтами на формат пикселя!

Затем, как только мы оптимизируем данные, хранящиеся в отдельных пикселях, мы можем стать более умными и взглянуть на соседние пиксели: получается, что у многих изображений, и особенно фотографий, есть много соседних пикселей с похожими цветами - например, небо, повторяющиеся текстуры и тд. Используя эту информацию в наших интересах, компрессор может применяться " дельта-кодирование «где вместо сохранения отдельных значений для каждого пикселя мы можем сохранить разницу между соседними пикселями: если соседние пиксели одинаковы, то дельта равна нулю, и нам нужно хранить только один бит! Но зачем останавливаться на достигнутом? ...

Человеческий глаз имеет разный уровень чувствительности к разным цветам: мы можем оптимизировать нашу цветовую кодировку, чтобы учесть это, уменьшая или увеличивая палитру для этих цветов. «Соседние» пиксели образуют двумерную сетку, что означает, что у каждого пикселя есть несколько соседей: мы можем использовать этот факт для дальнейшего улучшения дельта-кодирования. Вместо того, чтобы рассматривать только непосредственных соседей для каждого пикселя, мы можем смотреть на большие блоки соседних пикселей и кодировать разные блоки с разными настройками. И так далее...

Как вы можете заметить, оптимизация изображений быстро усложняется (или развлекается, в зависимости от вашей перспективы) и является активной областью научных и коммерческих исследований. Изображения занимают много байтов, и есть большая ценность в разработке лучших методов сжатия изображений! Если вам интересно узнать больше, отправляйтесь в Страница википедии или проверить Технический документ по сжатию WebP для практического примера.

Итак, еще раз, это все здорово, но и очень академично: как это помогает нам оптимизировать изображения на наших страницах? Что ж, мы определенно не в состоянии изобрести новые методы сжатия, но важно понять форму проблемы: пиксели RGBA, битовую глубину и различные методы оптимизации. Все эти концепции крайне важны для понимания и учета, прежде чем мы углубимся в обсуждение различных форматов растровых изображений.

Сжатие изображений без потерь и с потерями

TL; DR

  • Благодаря тому, как работают наши глаза, изображения являются отличными кандидатами на сжатие с потерями
  • Оптимизация изображения является функцией сжатия с потерями и без потерь
  • Различия в форматах изображений связаны с тем, как и какие алгоритмы с потерями и без потерь используются для оптимизации изображения.
  • Не существует единого наилучшего формата или «настройки качества» для всех изображений: каждая комбинация конкретного компрессора и содержимого изображения дает уникальный результат

Для определенных типов данных, таких как исходный код страницы или исполняемый файл, очень важно, чтобы компрессор не изменил и не потерял какую-либо исходную информацию: один отсутствующий или неправильный бит данных может полностью изменить значение содержимое файла, или, что еще хуже, полностью его нарушает. Для некоторых других типов данных, таких как изображения, аудио и видео, может быть вполне приемлемым «приблизительное» представление исходных данных.

Фактически, из-за того, как работает глаз, мы часто можем отказаться от некоторой информации о каждом пикселе, чтобы уменьшить размер файла изображения - например, наши глаза имеют разную чувствительность к разным цветам, что означает, что мы можем использовать меньше битов для кодирования некоторых цветов. В результате типичный конвейер оптимизации изображения состоит из двух этапов высокого уровня:

  1. Изображение обрабатывается с помощью с потерями "фильтр, который устраняет некоторые данные пикселей
  2. Изображение обрабатывается с помощью без потерь "фильтр, сжимающий данные пикселей

Первый шаг является необязательным, и точный алгоритм будет зависеть от конкретного формата изображения, но важно понимать, что любое изображение может пройти этап сжатия с потерями, чтобы уменьшить его размер. Фактически, разница между различными форматами изображений, такими как GIF, PNG, JPEG и другими, заключается в комбинации конкретных алгоритмов, которые они используют (или опускают) при применении шагов с потерями и без потерь.

Итак, что такое «оптимальная» конфигурация с потерями и оптимизация без потерь? Ответ зависит от содержимого изображения и ваших собственных критериев, таких как компромисс между размером файла и артефактами, вызванными сжатием с потерями: в некоторых случаях вы можете пропустить оптимизацию с потерями, чтобы передать сложные детали во всей их точности, а в других вы сможете применять агрессивную оптимизацию с потерями, чтобы уменьшить размер файла актива изображения. Это где ваше собственное суждение и контекст должны вступить в игру - нет единого универсального сеттинга.

Это где ваше собственное суждение и контекст должны вступить в игру - нет единого универсального сеттинга

В качестве практического примера, при использовании формата с потерями, такого как JPEG, компрессор обычно предоставляет настраиваемый параметр «качество» (например, ползунок качества, предоставляемый функцией «Сохранить для Web» в Adobe Photoshop), который обычно число от 1 до 100, которое контролирует внутреннюю работу конкретного набора алгоритмов с потерями и без потерь. Для достижения наилучших результатов поэкспериментируйте с различными настройками качества ваших изображений и не бойтесь снижать качество - визуальные результаты часто очень хорошие, а размер файла может быть довольно большим.

TL; DR

  • Начните с выбора правильного универсального формата: GIF, PNG, JPEG
  • Поэкспериментируйте и выберите лучшие настройки для каждого формата: качество, размер палитры и т. Д.
  • Рассмотрите возможность добавления ресурсов WebP и JPEG XR для современных клиентов.

В дополнение к различным алгоритмам сжатия с потерями и без потерь, различные форматы изображений поддерживают различные функции, такие как каналы анимации и прозрачности (альфа). В результате выбор «правильного формата» для конкретного изображения представляет собой сочетание желаемых визуальных результатов и функциональных требований.

Формат прозрачности анимации браузера GIF Да да все PNG Да нет все JPEG Нет нет все JPEG XR Да да IE WebP Да да хром, опера, андроид

Существует три универсально поддерживаемых формата изображения: GIF, PNG и JPEG. В дополнение к этим форматам некоторые браузеры также поддерживают более новые форматы, такие как WebP и JPEG XR, которые обеспечивают лучшее общее сжатие и больше функций. Итак, какой формат вы должны использовать?

  1. Вам нужна анимация? Если это так, GIF является единственным универсальным выбором.
    • GIF ограничивает цветовую палитру максимум 256 цветами, что делает его плохим выбором для большинства изображений. Кроме того, PNG-8 обеспечивает лучшее сжатие для изображений с небольшой палитрой. В результате GIF является правильным ответом только тогда, когда требуется анимация.
  2. Вам нужно сохранить мелкие детали с высоким разрешением? Используйте PNG.
    • PNG не применяет алгоритмы сжатия с потерями, кроме выбора размера цветовой палитры. В результате он будет производить изображение самого высокого качества, но при этом размер файла будет значительно выше, чем в других форматах. Используйте разумно.
    • Если актив изображения содержит изображения, состоящие из геометрических фигур, рассмотрите возможность преобразования его в векторный формат (SVG)!
    • Если актив изображения содержит текст, остановитесь и пересмотрите. Текст на изображениях не может быть выбран, доступен для поиска или масштабирования. Если вам нужно передать собственный стиль (для брендинга или по другим причинам), используйте вместо этого веб-шрифт.
  3. Оптимизируете ли вы фотографию, снимок экрана или подобный ресурс изображения? Используйте JPEG.
    • JPEG использует сочетание оптимизации с потерями и без потерь, чтобы уменьшить размер файла актива изображения. Попробуйте несколько уровней качества JPEG, чтобы найти лучшее соотношение цены и качества для вашего ресурса.

Наконец, после того как вы определили оптимальный формат изображения и его настройки для каждого из ваших ресурсов, рассмотрите возможность добавления дополнительного варианта, закодированного в WebP и JPEG XR. Оба эти формата являются новыми и, к сожалению, (пока) не универсально поддерживаются всеми браузерами, но, тем не менее, они могут обеспечить значительную экономию для новых клиентов - например, в среднем WebP предоставляет 30% уменьшение размера файла поверх сопоставимого изображения JPEG.

Поскольку ни WebP, ни JPEG XR не поддерживаются повсеместно, вам потребуется добавить дополнительную логику в ваше приложение или серверы для обслуживания соответствующего ресурса:

  • Некоторые CDN обеспечивают оптимизацию изображений как услугу, включая JPEG XR и доставку WebP.
  • Некоторые инструменты с открытым исходным кодом (например, PageSpeed ​​для Apache или Nginx) автоматизируют оптимизацию, преобразование и обслуживание соответствующих ресурсов.
  • Вы можете добавить дополнительную логику приложения для обнаружения клиента, проверки поддерживаемых им форматов и предоставления наилучшего из доступных форматов изображений.

Наконец, обратите внимание, что если вы используете Webview для визуализации контента в своем родном приложении, то вы имеете полный контроль над клиентом и можете использовать исключительно WebP! Facebook, Google+ и многие другие используют WebP для доставки всех своих изображений в свои приложения - экономия, безусловно, того стоит. Чтобы узнать больше о WebP, проверьте WebP: развертывание более быстрых, маленьких и более красивых изображений презентация от Google I / O 2013.

Не существует идеального формата изображения, инструмента или набора параметров оптимизации, применимых ко всем изображениям. Для достижения наилучших результатов вам нужно будет выбрать формат и его настройки в зависимости от содержимого изображения, его визуальных и других технических требований.

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

Доставка масштабированных изображений

TL; DR

  • Доставка масштабированных активов - одна из самых простых и эффективных оптимизаций
  • Обратите пристальное внимание на большие активы, поскольку они приводят к высоким накладным расходам
  • Уменьшите количество ненужных пикселей, масштабируя изображения до их размера.

Оптимизация изображения сводится к двум критериям: оптимизация количества байтов, используемых для кодирования каждого пикселя изображения, и оптимизация общего количества пикселей: размер файла изображения - это просто общее количество пикселей, умноженное на количество байтов, использованных для кодирования каждого пикселя. , Ни больше ни меньше.

В результате, один из самых простых и эффективных методов оптимизации изображений заключается в том, чтобы гарантировать, что мы не отправляем больше пикселей, чем необходимо для отображения актива в его предполагаемом размере в браузере. Звучит просто, правда? К сожалению, большинство страниц не проходят этот тест для многих своих графических ресурсов: обычно они отправляют большие ресурсы и полагаются на браузер для их масштабирования - что также потребляет дополнительные ресурсы ЦП - и отображения их с более низким разрешением.

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

Разрешение экрана Естественный размер Размер экрана (CSS px) Ненужные пиксели 1x 110 x 110 100 x 100 110 x 110 - 100 x 100 = 2100 1x 410 x 410 400 x 400 410 x 410 - 400 x 400 = 8100 1x 810 x 810 800 x 800 810 x 810 - 800 x 800 = 16100 2x 220 x 220 100 x 100 220 x 220 - (2 x 100) x (2 x 100) = 8400 2x 820 x 820 400 x 400 820 x 820 - (2 x 400) x (2 x 400) = 32400 2x 1620 x 1620 800 x 800 1620 x 1620 - (2 x 800) x (2 x 800) = 64400

Обратите внимание, что во всех вышеупомянутых случаях размер экрана «всего на 10 пикселей CSS меньше», чем требуется для каждого разрешения экрана. Тем не менее, количество дополнительных пикселей и связанных с ними накладных расходов быстро растет с увеличением размеров изображения! В результате, хотя вы и не сможете гарантировать, что каждый отдельный ресурс будет доставлен с точным размером дисплея, вы должны убедиться, что количество ненужных пикселей минимально, а ваши крупные активы, в частности, доставлены как можно ближе к их размер дисплея.

Контрольный список оптимизации изображения

Оптимизация изображения - это и искусство, и наука: искусство, потому что нет единого точного ответа о том, как лучше всего сжать отдельное изображение, и наука, потому что существуют хорошо разработанные методы и алгоритмы, которые могут помочь значительно уменьшить размер изображения. ,

Несколько советов и приемов, которые следует учитывать при работе над оптимизацией изображений:

  • Предпочтительные векторные форматы: векторные изображения не зависят от разрешения и масштаба, что делает их идеально подходящими для мира с несколькими устройствами и высоким разрешением.
  • Сокращение и сжатие ресурсов SVG: разметка XML, создаваемая большинством приложений для рисования, часто содержит ненужные метаданные, которые можно удалить; убедитесь, что ваши серверы настроены на применение сжатия GZIP для ресурсов SVG.
  • Выберите лучший формат растрового изображения: определите свои функциональные требования и выберите тот, который подходит для каждого конкретного ресурса.
  • Поэкспериментируйте с оптимальными настройками качества для растровых форматов: не бойтесь набирать настройки «качества», результаты часто очень хорошие и значительная экономия байтов.
  • Удалите ненужные метаданные изображения: многие растровые изображения содержат ненужные метаданные об активе: геоинформацию, информацию о камере и т. Д. Используйте соответствующие инструменты для удаления этих данных.
  • Обслуживание масштабированных изображений: измените размер изображения на сервере и убедитесь, что размер «дисплея» максимально приближен к «естественному» размеру изображения. В частности, обратите особое внимание на большие изображения, так как они имеют наибольшую нагрузку при изменении размера!
  • Автоматизируйте, автоматизируйте, автоматизируйте: инвестируйте в автоматизированные инструменты и инфраструктуру, которые гарантируют, что все ваши ресурсы изображения всегда будут оптимизированы.

Была ли эта страница полезной?

да

Что было лучшим на этой странице?

Это помогло мне достичь цели

Спасибо за ваш отзыв! Если у вас есть конкретные идеи по улучшению этой страницы, пожалуйста, создать проблему ,

Там была информация, которая мне была нужна

Спасибо за ваш отзыв! Если у вас есть конкретные идеи по улучшению этой страницы, пожалуйста, создать проблему ,

Он имел точную информацию

Спасибо за ваш отзыв! Если у вас есть конкретные идеи по улучшению этой страницы, пожалуйста, создать проблему ,

Это было легко читать

Спасибо за ваш отзыв! Если у вас есть конкретные идеи по улучшению этой страницы, пожалуйста, создать проблему ,

Что-то другое

Спасибо за ваш отзыв! Если у вас есть конкретные идеи по улучшению этой страницы, пожалуйста, создать проблему ,

нет

Что было худшим на этой странице?

Это не помогло мне выполнить мои цели

Спасибо за ваш отзыв! Если у вас есть конкретные идеи по улучшению этой страницы, пожалуйста, создать проблему ,

Мне не хватало необходимой мне информации

Спасибо за ваш отзыв! Если у вас есть конкретные идеи по улучшению этой страницы, пожалуйста, создать проблему ,

У него была неточная информация

Спасибо за ваш отзыв! Если у вас есть конкретные идеи по улучшению этой страницы, пожалуйста, создать проблему ,

Было трудно читать

Спасибо за ваш отзыв! Если у вас есть конкретные идеи по улучшению этой страницы, пожалуйста, создать проблему ,

Что-то другое

Спасибо за ваш отзыв! Если у вас есть конкретные идеи по улучшению этой страницы, пожалуйста, создать проблему ,

В чем смысл?
Итак, что это означает на практике?
Lt;?
Encoding = "utf-8"?
Что мы можем сделать, чтобы уменьшить размер файла изображения?
Что если мы уменьшим палитру до 256 цветов?
Но зачем останавливаться на достигнутом?
Итак, еще раз, это все здорово, но и очень академично: как это помогает нам оптимизировать изображения на наших страницах?
Итак, что такое «оптимальная» конфигурация с потерями и оптимизация без потерь?
Итак, какой формат вы должны использовать?
Поиск по сайту
Меню
Реклама на сайте
Архив новостей
Реклама на сайте

Реклама на сайте







Архив сайта
Информация
www.home-4-homo.ru © 2016 Copyright. Все права защищены.

Копирование материалов допускается только с указанием ссылки на сайт.