Pull to refresh

Comments 12

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

На этой логике весь веб работает :)

Генерация pdf - вот, где оно нужно

Вау, никогда такого не было и вот опять придумали как не взаимодействовать с dom

А если держать на странице отдельный iframe с минимумом верстки, и измерять текст внутри него - это тоже будет долгий layout рефлоу?

Да, подобное делали в невидимом летающем контейнере. Но рефлоу даже внутри него мелкого тормоза. Странно конечно, что canvas всё равно выигрывает. Возможно потому, что там не "честные" глифы рисуют. Как уже сказали раньше, если был бы API к reflow механизму страницу, то все проблемы бы решились без канвасов

Странно конечно, что canvas всё равно выигрывает. Возможно потому, что там не "честные" глифы рисуют.

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

он перестанет быть долгим даже просто на скрытом абсолюте, он не будет афектить ничего. А канвас выигрывает да, за счет отсутствия самого факта рендера

Есть стойкое ощущение, что эта проблема давным давно решена без вот этого велосипеда. Просто нужно размеры кэшировать, а не всё заново пересчитывать. Текст-то только растёт.

Классаня статья, спасибо за разбор данной библиотеки.

В реальных проектах те же проблемы обычно закрываются батчингом обновлений и снижением частоты reflow

читал, всё время думал, ну canvasRenderingContext2d.measureText на то есть. И да, он самый и есть оказалось)

Sign up to leave a comment.

Articles