Скорость появления страницы и скорость её реакции — разные вещи. Сайт может отрисоваться мгновенно и при этом залипать на каждом нажатии, потому что браузер занят выполнением кода и просто не успевает ответить.
Механика такая: обработка происходит в одном потоке, и пока выполняется тяжёлый участок кода, интерфейс не откликается. Человек нажимает на кнопку, ничего не происходит, он нажимает ещё раз, потом вся очередь событий отрабатывает разом, и получается двойное действие или странное поведение.
Виноваты обычно не собственные функции сайта, а объём кода в целом: большие библиотеки, подключённые ради одной мелочи, аналитические и рекламные скрипты, обработчики, навешанные на прокрутку и движение мыши. Каждый по отдельности незаметен, вместе они съедают отзывчивость.
Практические направления известны: убрать неиспользуемый код, разбить загрузку на части и подгружать то, что нужно позже, вынести тяжёлые вычисления из основного потока, не выполнять сложную работу на каждое движение прокрутки. Скучно, но именно это отличает сайт, который приятно трогать, от сайта, который заставляет ждать после каждого касания ⚡
Скорость Сайта
@site_speed_seo_n1k
Скорость появления страницы и скорость её реакции — разные вещи. Сайт может отрисоваться мгновенно и при этом
Этот пост опубликован в Telegram-канале Скорость Сайта. Подписаться можно по ссылке: @site_speed_seo_n1k.