8Sep

Dlaczego serwis YouTube w przeglądarce Chrome( i Firefox) zużywa baterię laptopa i pomaga ją usunąć

Czy on się jąka, podgrzewa laptopa, kopie fanów w bieg lub po prostu zużywa dużo procesora? Nawet jeśli nigdy nie zauważyłeś, YouTube w Chrome prawie na pewno zużywa więcej energii niż to konieczne. Podobnie jak inne problemy z wydajnością Chrome, jest to prawdopodobnie najgorsze na komputerach Mac.

Jest to wynikiem przejścia na wideo HTML5 i dziwactwa z kodekami wideo używanymi przez YouTube w przeglądarce Chrome w porównaniu z innymi przeglądarkami. Niedźwiedź z nami, a wyjaśnimy, dlaczego Google sprawił, że odtwarzanie YouTube było tak nieefektywne. Firefox może mieć ten sam problem.

HTML5, H.264, VP8 i VP9

YouTube obecnie znacznie porzucił wtyczkę Flash wideo do odtwarzania wideo HTML5.Ale odtwarzanie wideo HTML5 nie jest ustandaryzowane. Przeglądarki mogą wybierać kodeki wideo, których chcą używać, a nie ma jednego kodera preferowanego przez wszystkie przeglądarki.

Kiedy YouTube używał Flasha, używał kodeka H.264 do odtwarzania filmów. Filmy z tym kodekiem mają zwykle rozszerzenie pliku. mp4 i często są nazywane filmami MP4.Jest to de facto standard branżowy, poza przeglądarkami internetowymi.

Safari, Internet Explorer, Microsoft Edge, Chrome i Firefox obsługują odtwarzanie filmów zakodowanych w formacie H.264, chociaż Firefox wkopał się w niego i unikał włączenia go tak długo, jak to możliwe.

Podczas gdy Apple i Microsoft obsługują tylko H.264 do odtwarzania wideo w swoich przeglądarkach, Google również przesyła swoje własne kodeki. Google nabył kodek VP8 i wbudował go w Chrome, a Firefox podążył za nim. Google wprowadza teraz kodek VP9 nowej generacji, który jest teraz również wbudowany w Chrome i Firefox. Pliki używające tego kodeku mają zwykle rozszerzenie pliku. webm, a czasami są również nazywane plikami WebM.

Dlaczego Google utworzył VP8 i VP9?

Chociaż H.264 jest standardem de facto w całej branży, ma poważny problem. Podstawowe technologie są objęte szeroką gamą patentów. Aby móc korzystać z tych technologii - na przykład, gdy tworzyłeś je w produkcie - musisz uiścić opłatę za pakiet patentów H.264.

Dlatego właśnie Mozilla tak długo trzymała się H.264 - chciała, aby sieć była oparta na otwartym standardzie, który nie wymagał żadnych opłat. Google wypuściło VP8 i VP9 z nieodwołalną obietnicą patentową, dzięki czemu ludzie robią, co chcą - Google nie będzie próbowało wyłudzać opłat patentowych. Cisco skutecznie opłaca opłaty licencyjne i zapewnia bezpłatną wtyczkę dla użytkowników Firefoksa. Firefox automatycznie pobiera tę wtyczkę i używa jej do obsługi H.264.

VP8 nie zyskał przyczepności

Jednak Google nie odniósł szczególnego sukcesu z VP8.Na początku 2011 roku Google ogłosił, że usunie wsparcie H.264 z Chrome, aby obsługiwać tylko otwarte kodeki takie jak VP8 i Theora. Ponad cztery lata później Google nigdy tego nie robił i od tego czasu nie słyszeliśmy nic o tej obietnicy.

Mozilla najprawdopodobniej utrzymywała, że ​​Google spełni swoją obietnicę, ale Google nigdy tego nie zrobił - zamiast tego Mozilla ustąpiła i dodała wsparcie H.264 wiele lat później. H.264 to obecnie de facto standardowy kodek, taki jak lub nie, a przy korzystaniu z przeglądarki Apple lub Microsoft jest jedynym dostępnym kodem. To jedyna prawdziwa opcja dla przeglądarek mobilnych. Wiele stron internetowych zaimplementowało wideo HTML5 z obsługą tylko H.264, a Chrome i FIrefox byłyby z niego wyłączone, gdyby nie obsługiwały H.264.

Prawdziwy problem: Akceleracja sprzętowa

Istnieje jeden prosty, podstawowy problem. Dekodowanie H.264( odtwarzanie) jest przyspieszane sprzętowo. Oznacza to, że "praca" podczas odtwarzania pliku wideo H.264 jest wykonywana przez procesor graficzny( GPU) w znacznie bardziej efektywny sposób. Jeśli dekodowanie sprzętowe nie było dostępne, procesor musiałby wykonać całą pracę w mniej wydajny sposób. Oznacza to, że odtwarzanie zajmuje mniej czasu procesora, co oznacza, że ​​zmarnowana jest mniejsza moc baterii i generowane jest mniej ciepła. Może to również oznaczać płynniejsze odtwarzanie, jeśli procesor nie nadąży za odtwarzaniem wideo.

Naprawdę, wszystkie nowoczesne elementy sprzętowe obsługują sprzętowe dekodowanie z akceleracją H.264.Obejmuje to wszystkie typy smartfonów, tabletów, komputerów PC, komputerów Mac, a nawet Chromebooków. Kiedy przeglądarka internetowa - tak, nawet Chrome - odtwarza wideo w formacie H.264, jest odciążana na GPU.Nawet Adobe Flash obsługuje akcelerację sprzętową wideo H.264.

Ale nie ma żadnego sprzętu, który przyspieszy wideo VP8 i VP9.Kiedy Google ogłosił VP8 w połowie 2010 roku, różne firmy, w tym wielkie firmy takie jak nVIDIA, AMD i Qualcomm, ogłosiły, że będą wspierać VP8 w swoich produktach. Jednak, ponad pięć lat później, żadne urządzenia nigdy nie były dostarczane z przyspieszanym sprzętowo dekodowaniem VP8.

W niedawnym ogłoszeniu przez Google o VP9 zauważa, że ​​"ponad 20 partnerów urządzeń w całej branży wprowadza na rynek produkty w 2015 r. I później za pomocą VP9." Ten sam post odnotowuje również inne zalety VP9, ​​takie jak mniejszy rozmiar pliku dla tej samej jakości. Intel, nVIDIA, AMD i inne firmy zobowiązały się do wspierania przyspieszania sprzętowego dekodowania VP9.

Szukaliśmy sprzętu, który obsługuje dekodowanie VP9 z akceleracją sprzętową, i odkryliśmy, że Intel wypuścił nowe sterowniki Haswell i Broadwell dla systemu Windows z obsługą "częściowego ardwareardware( sic)" dla VP9 na początku 2015 roku. Oczywiście istniejedużo więcej pracy do zrobienia.

Podobnie jak inne problemy z wydajnością Chrome, może być gorzej na komputerze Mac. Inżynierowie Chrome zamknęli błąd dotyczący wysokiego zużycia procesora i generowania ciepła na MacBooku z komentarzem: "Wykorzystanie procesora podczas odtwarzania VP9 na Macu nie jest błędem." To może być prawda, ale Google prawdopodobnie nie powinien obsługiwać wszystkich filmów VP9użytkownikom Chrome na komputerach Mac, jeśli wysokie użycie procesora jest normalne. To tylko zachęca użytkowników Mac do korzystania z Safari.

Jak sprawić, by filmy z YouTube Play były bardziej skuteczne

To naprawdę problem z kurczakiem i jajkiem - producenci nie będą wdrażać VP9 przyspieszanego sprzętowo, dopóki nie będzie on faktycznie używany w prawdziwym świecie. Google rozwiązało ten problem, dodając VP8 i VP9 do Chrome i mówiąc, że YouTube ma obsługiwać filmy VP9 i VP8 w Chrome. YouTube może również wyświetlać wideo VP8 i VP9 w przeglądarce Firefox.

To może zaoszczędzić trochę czasu na pobranie, ale oznacza to, że YouTube zużywa więcej energii z baterii i cykli procesora w Chrome. Na urządzeniach ze szczególnie powolnymi procesorami, filmy mogą się nawet zacinać, zamiast płynnie odtwarzać.

Aby uzyskać bardziej wydajne odtwarzanie, możesz przełączyć się na Safari, Microsoft Edge lub Internet Explorer. Ale nie musisz tego robić.Możesz zainstalować rozszerzenie przeglądarki h264ify dla przeglądarki Chrome, które zmusi Chrome do żądania filmów w formacie H.264 z serwisu YouTube. Wyglądają tak samo, ale Chrome będzie je odtwarzał bardziej płynnie.

Pobierz h264ify dla Chrome, pobierz h264ify dla Firefoksa lub sprawdź stronę projektu na GitHub, aby dowiedzieć się więcej

Jak sprawdzić, czy YouTube korzysta z H.264, VP8, czy VP9

Aby sprawdzić, który kodek YouTube wyświetla się w przeglądarce,-kliknij wideo z YouTube podczas odtwarzania i wybierz "Statystyki dla nerdów". Po prawej stronie "Typu MIME" zobaczysz "wideo / MP4" i kodek "AVC" dla filmów H.264 / MP4.

W przypadku filmów VP8 i VP9 zobaczysz "wideo / webm" i "vp9" lub "vp8".

W długim czasie push VP9 firmy Google może być lepszy dla internetu i prowadzić do sprzętu, który może zapewnić przyspieszone dekodowanie tego nowego kodeka. Ale w chwili obecnej możesz chcieć oszczędzić baterię i sprawniej pracować z laptopem, rezygnując z eksperymentu Google'a i zamiast tego używać wideo H.264.

Image Credit: Esther Vargas na Flickr