Из-за бага в коде веб-плеер YouTube зависает и перегружает оперативную память
Пользователи YouTube сообщают в соцсетях о проблемах с веб-плеером платформы. В различных браузерах, в том числе Brave, Firefox и Microsoft Edge, зависает воспроизведение и чрезмерно расходуется память. Судя по всему, проблемы возникают из-за ошибки рендеринга в коде плеера YouTube, пишет Android Authority.
Как выяснили разработчики на форуме Mozilla, к появлению проблем с плеером приводит тег «ytd-menu-renderer», внутри которого находятся кнопки «Нравится», «Не нравится» и «Поделиться». Это меню, которое динамически показывает и скрывает кнопки в зависимости от доступной ширины экрана, «ytd-menu-renderer» автоматически удаляет одну из кнопок, если она не умещается, и возвращает её на место, когда это возможно.
По словам специалистов, значение «hostElement.clientWidth» увеличивается, когда «ytd-menu-renderer» автоматически скрывает кнопку. Из-за этого код плеера YouTube считает, что область меню достаточно широкая, чтобы вместить кнопку, и возвращает её на место. Но поскольку на самом деле пространства недостаточно, «ytd-menu-renderer» снова удаляет кнопку. Так плеер попадает в бесконечный цикл, из-за которого браузер постоянно выполняет вычисления и рендерит гибкое меню плеера YouTube, перегружая оперативную память компьютера.
Пользователи заметили, что при попытках воспроизвести видео на YouTube нагрузка на оперативную память браузера увеличиваеся с нескольких сотен мегабайт до нескольких гигабайт. Некоторые отметили, что при использовании веб-плеера YouTube существенно увеличивается нагрузка на процессор.
Mozilla изучает эту проблему в браузере Firefox, но пока неясно, когда будет доступно исправление со стороны YouTube, пишет Android Authority.
Читать на habr.com

