Показать пользователю
картинку нужного качества
как можно быстрее
6
Slide 7
Slide 7 text
Шаг 1: Транспорт
Slide 8
Slide 8 text
Вы используете HTTP/2
Вы используете CDN (например, cloudflare)
Все ок со сжатием (gzip / brotli)
Все ок с кешированием
8
Убедитесь, что:
Slide 9
Slide 9 text
9
Шаг 2: Понимание
Slide 10
Slide 10 text
10
Картинка выражает какую-то идею,
воспринимается в контексте и
подразумевает некую реакцию
пользователя
Slide 11
Slide 11 text
Качество зависит от контекста
Картинка это основной
контент — качество повыше
Картинка это
вспомогательный контент
— качество пониже
Иногда картинку нужно
заменить интерактивным
элементом
11
Slide 12
Slide 12 text
12
Шаг 3: Выбираем правильный формат
Slide 13
Slide 13 text
13
Когда SVG заходят хорошо
Часть изображения можно
представить как набор
геометрических примитивов
Есть интерактивность
Нужно цеплять маркеры к фону
Нужно много размеров
13
Slide 14
Slide 14 text
В остальных случаях пробуйте
все подходящие форматы и
выбирайте лучший
14
Slide 15
Slide 15 text
svgo/svgr/svgomg
15
Оптимизируйте SVG
Slide 16
Slide 16 text
Время растровой графики
16
Slide 17
Slide 17 text
Что такое пиксель ?
17
abstract pixel hardware pixel
CSS pixel
Slide 18
Slide 18 text
18
Несколько чисел, хранящие информацию о цвете и
прозрачности.
color model — то как хранится цвет
Abstract pixel
R G B
Y Cb Cr — luma (Y) + chroma(Cb Cr).
Slide 19
Slide 19 text
Y Cb Cr
19
Slide 20
Slide 20 text
CSS pixel
Абсолютная единица
измерения
Сколько-то миллиметров
Сколько именно миллиметров
зависит от устройства
20
Progressive JPEG
Мы просто присылаем часть табличек для всех блоков
49
Slide 50
Slide 50 text
WebP
WebP это куча форматов в одном контейнере
Может быть lossless и lossy
Поддерживает прозрачность
Может быть lossy для цвета и lossless для
прозрачности
Не может грузиться постепенно
50
Slide 51
Slide 51 text
Lossless и lossy WebP
Lossy — основано на сжатии VP8 кодека
Lossless — запилили отдельно
51
Slide 52
Slide 52 text
VP8X chunk
alpha
EXIF
animation
width
height
52
Slide 53
Slide 53 text
Особенности lossy WebP
Lossless алгоритм эффективней чем тот, что
использует JPEG
Adaptive quantization
53
Slide 54
Slide 54 text
Как работают современные video-encoders
Разбивают картинку на блоки
Предсказывают новые блоки на основе
предыдущих
54
Slide 55
Slide 55 text
А можем еще лучше?
WebP использует компрессию из VP8 видео кодека…
Что если взять видео кодек посовременнее?
55