Problem dotyka niemal wszystkich popularnych przeglądarek – od Firefoxa i Brave, po Microsoft Edge. Użytkownicy zauważyli, że zużycie pamięci RAM potrafi skoczyć z kilkuset megabajtów do wielu gigabajtów w ułamku sekundy po włączeniu filmu.
Magiczny przycisk, który psuje system. Co się dzieje na YouTube?
Dla przeciętnego widza objawy tego błędu są frustrujące: obraz „skacze”, klatki są gubione, a reakcja na jakiekolwiek kliknięcia staje się ociężała. Analizy deweloperów, m.in. z forum Mozilla Bugzilla, wskazują, że źródłem zła jest znacznik „ytd-menu-renderer”. To element odpowiedzialny za wyświetlanie przycisków pod filmem, takich jak polubienia, udostępnianie czy menu opcji.
Dlaczego ten mały fragment kodu powoduje taką katastrofę?
- Logika elastycznego menu: Kod YouTube został zaprojektowany tak, by dynamicznie dostosowywać liczbę widocznych przycisków do szerokości okna przeglądarki. Jeśli miejsca jest za mało, jeden przycisk zostaje ukryty; gdy okno się poszerza, przycisk wraca na miejsce.
- Błąd w obliczeniach szerokości: Okazuje się, że gdy mechanizm automatycznie ukrywa przycisk, parametr „clientWidth” kontenera paradoksalnie rośnie.
- Nieskończona pętla: System widzi, że ma więcej miejsca, więc natychmiast dodaje przycisk z powrotem. Po dodaniu przycisku miejsca znów brakuje, więc kod go usuwa – i tak w kółko, tysiące razy na sekundę.
- Ekstremalne obciążenie: Ta nieustanna walka o rozmiar menu zmusza komputer do ciągłego przeliczania i renderowania interfejsu. W efekcie zużycie pamięci RAM potrafi w mgnieniu oka skoczyć z kilkuset megabajtów do wielu gigabajtów, a użycie rdzeni procesora wystrzeliwuje do maksymalnych wartości.
Oznacza to, że przeglądarka może stać się „pożeraczem” zasobów, co negatywnie wpływa na pracę innych otwartych aplikacji, a w skrajnych przypadkach może prowadzić do zawieszenia komputera.
Czytaj też: Kindle Colorsoft w końcu z wyczekiwaną aktualizacją. Amazon naprawia swój największy błąd
Dla użytkowników, którzy wciąż korzystają z nieco starszego sprzętu lub laptopów biurowych z ograniczoną ilością pamięci RAM, ten błąd jest szczególnie dotkliwy. Podczas gdy na mocnych maszynach gamingowych skończy się to „tylko” głośniejszą pracą wentylatorów, na słabszych komputerach YouTube staje się po prostu nieużywalny, zawieszając całą przeglądarkę. Jeśli więc widzicie u siebie ten problem, warto ograniczyć liczbę otwartych kart z filmami i – jeśli to możliwe – unikać skalowania okna przeglądarki podczas odtwarzania, co często inicjuje wspomnianą pętlę. To oczywiście jedynie doraźne rozwiązanie.
Czytaj też: Zdjęcia Google jako Twoja cyfrowa szafa. AI wybierze Ci ubrania na jutro
Na razie sytuacja wygląda tak: Mozilla już bada sprawę w kontekście Firefoxa, ale ostateczne rozwiązanie musi leżeć po stronie inżynierów Google. Oficjalnej daty naprawy błędu nie podano, więc trzeba po prostu zagryźć zęby, ograniczyć YouTube’a (lub liczbę otwartych kart oraz skalowanie okna) i po prostu czekać na rozwiązanie. Tak czy inaczej, błąd tej skali na tak ogromnej platformie to solidna wpadka, choć nie pierwsza i zapewne, nie ostatnia.
Źródło: Reddit (1, 2), Mozilla Bugzilla
