На этой неделе ряд пользователей YouTube заметили неполадки, связанные с веб-плеером платформы. Во время просмотра видео на YouTube браузер может зависать, а потребление оперативной памяти возрастать. Обсуждения на Reddit показывают, что такие проблемы, как прерывания звука, потеря кадров и избыточное использование памяти, наблюдаются в нескольких браузерах, включая Firefox и Brave.
Источник изображения: BoliviaInteligente / unsplash.com
Судя по всему, описанные неполадки вызваны ошибкой рендеринга в коде плеера YouTube, которая отправляет браузеры в бесконечный цикл зависаний. По сути, этот дефект заставляет браузеры постоянно и быстро выполнять рендеринг и изменять размеры визуальных элементов проигрывателя, что ведёт к росту потребления вычислительных ресурсов, включая оперативную память.
Специалисты на форуме Mozilla пришли к выводу, что причиной проблем с веб-плеером YouTube является тег «ytd-menu-renderer», который содержит кнопки «нравится», «не нравится» и «поделиться». Это меню динамически показывает и скрывает кнопки в зависимости от доступной ширины экрана. Разработчики пояснили, что «ytd-menu-renderer» автоматически убирает одну из кнопок, если она не помещается на экране, и возвращает меню в стандартное состояние, когда это становится возможным. Данный элемент работает так, чтобы отображать только те кнопки, которые умещаются на экране устройства пользователя.
Комментарии разработчиков указывают на то, что в момент, когда из меню исчезает одна кнопка, плеер решает, что область меню стала достаточно широкой для только что удалённого элемента, и возвращает кнопку обратно. Поскольку на самом деле места всё ещё не хватает, код в теге «ytd-menu-renderer» снова убирает кнопку. Этот цикл повторяется бесконечно, заставляя браузер и компьютер пользователя постоянно выполнять вычисления, изменять размер и рендерить адаптивное меню плеера YouTube.
Эта ошибка создаёт дополнительную нагрузку на системные ресурсы устройства пользователя. Некоторые пользователи сообщили, что потребление оперативной памяти при этом возрастает с нескольких сотен мегабайт до нескольких гигабайт после попытки воспроизвести видео на YouTube. Другие также отметили значительное увеличение нагрузки на процессор при использовании веб-плеера YouTube.