Как виджет для интернет-магазина чуть не спалил мой iPhone: Lottie vs видео-спрайты на телефонах

Habr ·

Как виджет для интернет-магазина чуть не спалил мой iPhone: Lottie vs видео-спрайты на телефонах

Казалось бы, что может пойти не так с легковесными векторными анимациями? Вектор в Lottie, JSON весит копейки. Но тестирование на реальном телефоне закончилось фиаско: через пару минут скролла чип раскалился до 42 °C, а интерфейс ушёл в троттлинг. Оказалось, что покадровый пересчёт кривых Безье в JS на мобильных экранах быстро превращает телефон в печку. В кейсе разбор того, как мы перешли на аппаратно декодируемые видео-спрайты, почему IntersectionObserver втихую крутил видео под непрозрачными модалками и как в итоге удалось сбить температуру обратно до стабильных 30 °C. Читать кейс

Казалось бы, что может пойти не так с легковесными векторными анимациями? Вектор в Lottie, JSON весит копейки. Но тестирование на реальном телефоне закончилось фиаско: через пару минут скролла чип раскалился до 42 °C, а интерфейс ушёл в троттлинг. Оказалось, что покадровый пересчёт кривых Безье в JS на мобильных экранах быстро превращает телефон в печку. В кейсе разбор того, как мы перешли на аппаратно декодируемые видео-спрайты, почему IntersectionObserver втихую крутил видео под непрозрачными модалками и как в итоге удалось сбить температуру обратно до стабильных 30 °C. Читать кейс

Источник: Habr