Оптимизация pThumb / phpThumbOn

Здравствуйте.
Столкнулся с такой проблемой. У ресурса есть два tv для изображений: один превью, другой основная картинка. Причем превью на мобильных устройствах через медиазапрос становится главной.
В шаблоне получаем оба поля и обрабатываем их для вставки значений в тэг picture через source. Код такой:
{set $image = [
  'desktop'     => $_modx->resource.news_page_img | pThumb: 'w=1080&f=jpg&q=95',
  'desktop_2x'  => $_modx->resource.news_page_img | pThumb: 'w=2160&f=jpg&q=95',
  'tablet'      => $_modx->resource.news_page_img | pThumb: 'w=580&f=jpg&q=95',
  'tablet_2x'   => $_modx->resource.news_page_img | pThumb: 'w=1160&f=jpg&q=95',
  'mobile'      => $_modx->resource.news_thumb | pThumb: 'w=600&f=jpg&q=95',
  'mobile_2x'   => $_modx->resource.news_thumb | pThumb: 'w=1200&f=jpg&q=95',
]}
<picture class="news-page__picture">
  <source srcset="{$image.mobile}, {$image.mobile_2x} 2x" media="(max-width: 575px)">
  <source srcset="{$image.tablet}, {$image.tablet_2x} 2x" media="(max-width: 1199.98px)">
  <source srcset="{$image.desktop}, {$image.desktop_2x} 2x" media="(min-width: 1200px)">
  <img class="news-page__img" src="{$image.desktop}" alt="{$_modx->resource.pagetitle}" loading="lazy">
</picture>
Проблема заключается в том, что на некоторых ресурсах оптимизация этих изображений может занимать до 25 секунд. Проблема скорее в коде, сервере или изначальных размерах изображений? Такой вопрос. Спасибо.

PS Смена pThumb на phpThumbOn прироста вообще не даёт. ModX Revo 2.8.3, PHP 7.4. GD, ImageMagic
Александр Быковский
20 июля 2022, 23:17
modx.pro
159
0

Комментарии: 4

Артур
20 июля 2022, 23:39
0
Написать плагин, который будет генерировать все превью при сохранении ресурса?
    Александр Быковский
    21 июля 2022, 07:08
    0
    были мысли: повесить его на AJAX, генерировать кэш при сохранении при помощи AdminTools и cacheRegenerator, но последний вроде как всё
    Алексей Ерохин
    21 июля 2022, 09:17
    0
    Проблема точно в размерах изображений.
    1. Плагин на сохранение, сделать два разных источника файлов с настройками кропа (по типу как в минишопе)
    2. docs.modmore.com/en/MoreGallery/v1.x/Cropping.html — платный компонент. Правда не помню можно ли там настраивать кропы разные для разных изображений/галерей.
    3. В некоторых компаниях, если не хотят заморачиваться с внедрением какой-нибудь фичи, иногда дают регламент работникам, как поступать в том или ином случае. В вашем — контент-менджеру надо будет загружать страницу перед публикацией, чтобы сгенерировались все картинки.
      Александр Быковский
      21 июля 2022, 11:13
      0
      Плюсом идут языковые версии, в которых данные изображения отличаются
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      4