Страница 1 из 1

Картинки - предгенерация Тумб и WEBP для совр. браузеров

СообщениеДобавлено: 14 апр 2020, 15:34
monarch
Добрый день!

Два вопроса-предложения по картинкам:
1) У нас используется вынос на статику (субдомен static. * ), на который заливаются картинки по мере их появления на основном сервере.
Есть ли возможность при заливке или как-то по крону - генерировать статику (тумбы в поиске и прочие картинки для объявлений)?
Сейчас они генерируются при открытии страницы.
Может быть полезно тем, кто использует shared-хостинг, чтобы страницы открывались быстрей (картинки были бы уже готовы, а не генерились on demand при загрузке страницы).
Свою проблему можем решить костылем (каким-нибудь), но хочется красивого решения. Возможно генерация уже есть?

2) Этот вопрос-предложения из того, что уже реализовано у нас (не на уровне движка), но возможно будет интересно другим. Так как картинок по недвижимости впринципе over-много, и учитывая, что тумбы генерятся при любом раскладе, возможно имеет смысл добавить генерацию WEBP-картинок для современных браузеров?
JPEG при этом отключаться нельзя, так как он будет отдаваться в случае fallback - старым браузерам, которые ещё не поддерживают WEBP.
Экономия в плане размера картинок (совокупного) получается внушительная.
Особенно, если будет генерация картинок для разных девайсов (одна картинка в нескольких разрешениях).

Спасибо!

Re: Картинки - предгенерация Тумб и WEBP для совр. браузеров

СообщениеДобавлено: 15 апр 2020, 04:25
Xpycm
Здравствуйте.

1) Изображения генерируются только один раз. Т.е, если нет, то генерируем, есть есть - то отдаём
Две причине крайней степени удобства данного подхода:
а. при смене водяного знака нет необходимости генерировать сразу все изображения. Одно дело, когда объектов 10/100 на сайта, а если 1000/10000 объектов
б. необходимо изображение нового размера ( ширина и высота). Достаточно вызывать метод с новыми размерами ширины/высоты и вуаля - изображение готово

2) Данные подход скорее всего реализуем как только Safari будет поддерживать webp: https://caniuse.com/#search=webp
На данный момент не пробовал, но библиотека https://github.com/rosell-dk/webp-convert позволяет использовать стандартное GD-расширение, а это нам подходит, т.к в большинстве случаев пользователи используют shared-хостинги и о многих полезных расширениях могут только мечтать.

Спасибо за советы по улучшению

Re: Картинки - предгенерация Тумб и WEBP для совр. браузеров

СообщениеДобавлено: 15 апр 2020, 17:39
monarch
Xpycm писал(а):Здравствуйте.

1) Изображения генерируются только один раз. Т.е, если нет, то генерируем, есть есть - то отдаём
Две причине крайней степени удобства данного подхода:
а. при смене водяного знака нет необходимости генерировать сразу все изображения. Одно дело, когда объектов 10/100 на сайта, а если 1000/10000 объектов
б. необходимо изображение нового размера ( ширина и высота). Достаточно вызывать метод с новыми размерами ширины/высоты и вуаля - изображение готово

Текущая реализация понятна.
А можно этот метод вызвать через отдельный скрипт, который можно будет засунуть в крон?
Или делать генерацию при аппруве объявления модером.
Т.е. подгрузить минимум нужного из YII и запустить метод для тех картинок, где нету сгенеренных тумб/нужных размеров.