Разработчик ускорил загрузку дашборда в 100 раз
Но есть нюанс — перед этим он в 100 раз замедлился по непонятной причине.
Представьте, что вы работаете над дашбордом, и замечаете, что он грузится 10 секунд, хотя еще недавно все работало нормально. А кому-то и представлять не надо.
С такой проблемой столкнулся Аллен Пайк, когда дорабатывал дашборд нового приложения. Он пошел за помощью к ИИ, которому описал ситуацию и попросил накидать идей, что с ней делать, но это не дало результата — он честно проверил все гипотезы, и все были мимо.
Зато он обнаружил, что проблема воспроизводится только в Safari (или, как теперь нужно писать — в «Сафари»). Оказалось, что больше всего времени тратится на этап компоновки страницы — браузер перерисовывал макет несколько раз и тратил на этот процесс в сотни раз больше времени, чем нужно.
После этого начался долгий и нудный процесс удаления разных элементов из кода, пока тормоза не прекратятся. И в итоге виновник нашелся — сердечко на кнопке «Отправить отзыв». ❤️
🔜 Дело было в том, что на дашборде использовали специфический шрифт, чтобы в разных браузерах и на разных устройствах эмодзи отображались одинаково. Он поддерживает новый формат, который в теории должен сделать отрисовку эмодзи более быстрой. Но именно в Safari эффект был обратный, и поэтому браузер тратил столько времени на одно-единственное сердечко.
О баге уже сообщили и куда надо, но вообще с использованиями разных креативных шрифтов надо быть поосторожнее.
А вы встречались с похожими багами? 👀
Post #1998
10.9K