Проверяет умение находить узкие места производительности в веб-приложении с одновременным воспроизведением множества видеопотоков и выбирать правильные инструменты профилирования.
Когда на странице одновременно играет много видеопотоков, узкое место может находиться на разных уровнях: сеть, декодирование, композитинг, JS-логика или утечки памяти. Прежде чем что-то оптимизировать, нужно измерить, где именно теряется производительность.
<video> элементов — браузер ограничен числом аппаратных декодеров (обычно 4–16).const observer = new IntersectionObserver((entries) => {
entries.forEach((entry) => {
const video = entry.target;
if (entry.isIntersecting) {
video.srcObject = getStream(video.dataset.id);
video.play();
} else {
video.pause();
video.srcObject = null; // освобождаем декодер
}
});
}, { threshold: 0.1 });
document.querySelectorAll('video').forEach(v => observer.observe(v));Итог: начинай с измерений через DevTools Performance и Task Manager, затем ограничивай число активных потоков, применяй ленивую загрузку и следи за утечками — это даёт наибольший эффект без преждевременных оптимизаций.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию