Pull to refresh

Comments 9

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

Можно делать все тоже самое кроссбраузерно с помощью URL.createObjectURL() и свободно привязывать результат в нужных местах через CSS-переменные. Не вижу смысла использовать именно этот CSS Painting.

скорость рендеринга может быть критерием, надо проверить.
В обоих случаях вы рендерите картинки на canvas, разница в производительности если и будет, то незначительной и еще не известно в какую сторону. Только вот описанный в статье метод не будет работать в Firefox и Safari и вот это уже критерий.
Тут ты можешь отловить ресайз элемента и изменения его ЦСС-свойств и на основании этого отрисовывать разное изображение
Интересный аргумент, да. Но ресайз можно отловить и с помощью обработчика onresize в общем случае, и resizeObserver в более сложных… Конечно, это потребует немного больше ручной работы.
Радует, что они хотя бы использовали canvas API, а не стали придумывать новые функции рисования. Возможно, под капотом там как раз используются старые добрые фокусы с созданием canvas и генерацией Image из него.

Вы не тестировали способ перерисовки на скорость? Он быстрее, чем «создать canvas»->«нарисовать на canvas» -> «перевести canvas в Image» -> «применить Image в CSS»?

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

Image в виде файла или блоба там вряд ли создается, это было бы затратно. Скорее всего, просто прикрутили внутреннюю канвасную реализацию.

не вижу смысла, т.к. есть Canvas который работает везде и есть SVG который не хуже
Sign up to leave a comment.