8Sep

Por que o YouTube no Chrome( e o Firefox) está drenando a bateria do seu laptop e como corrigi-lo

O YouTube gagueja, aquece o seu laptop, chuta seus adeptos na engrenagem ou simplesmente usa muita CPU?Mesmo se você nunca notou, o YouTube no Chrome está quase certamente usando mais energia da bateria do que precisa. Como os outros problemas de desempenho do Chrome, isso provavelmente é pior nos Macs.

Isto é resultado da mudança para o vídeo HTML5 e peculiaridades com os codecs de vídeo usados ​​pelo YouTube no Chrome versus outros navegadores. Lembre-se de nós e explicaremos por que o Google tornou a reprodução do YouTube tão ineficiente em primeiro lugar. O Firefox também pode ter o mesmo problema.

HTML5, H.264, VP8 e VP9

O YouTube já descartou o plug-in de vídeo Flash para reprodução de vídeo HTML5.Mas a reprodução de vídeo HTML5 não é padronizada. Os navegadores podem escolher qual codec de video eles querem usar, e não há um único codec que todos os navegadores preferem.

Quando o YouTube usou o Flash, ele usou o codec H.264 para reproduzir vídeos. Os vídeos com este codec geralmente possuem a extensão de arquivo. mp4 e são frequentemente referidos como vídeos MP4.Este é um padrão de fato de todo o setor, além de apenas navegadores da web. O

Safari, o Internet Explorer, o Microsoft Edge, o Chrome e o Firefox incluem suporte para reprodução de vídeos codificados em H.264, embora o Firefox tenha escavado seus saltos e evitei isso durante o maior tempo possível.

Enquanto a Apple e a Microsoft apenas suportam o H.264 para reprodução de vídeo em seus navegadores, o Google também está empurrando seus próprios codecs. O Google adquiriu o codec VP8 e o construiu no Chrome e o Firefox seguiu o exemplo. O Google agora está empurrando o codec VP9 da próxima geração, que agora também é incorporado ao Chrome e ao Firefox. Os arquivos que usam esse codec geralmente possuem a extensão de arquivo. webm, e às vezes também são chamados de arquivos WebM.

Por que o Google criou VP8 e VP9?

Enquanto o H.264 é um padrão de facto de toda a indústria, ele tem um problema significativo. As tecnologias subjacentes são cobertas por uma ampla variedade de patentes. Para usar essas tecnologias - se você as construísse em um produto, por exemplo - você precisaria pagar uma taxa para o portfólio de patentes H.264.

É por isso que a Mozilla estendeu tanto tempo contra a H.264 - queria que a web fosse baseada em um padrão aberto que não exigisse nenhuma taxa. O Google lançou VP8 e VP9 com uma promessa de patente irrevogável, permitindo que as pessoas façam o que quiserem com isso - o Google não tentará extrair taxas de patentes. A Cisco está efetivamente pagando as taxas de licenciamento e fornecendo um plug-in gratuito para usuários do Firefox. O Firefox automaticamente faz o download deste plug-in e o usa para habilitar o suporte H.264.

VP8 não obteve a tração

Mas o Google não foi particularmente bem sucedido com o VP8.No início de 2011, o Google anunciou que estaria removendo o suporte H.264 do Chrome para suportar apenas codecs abertos como VP8 e Theora. Mais de quatro anos depois, o Google nunca fez isso e não ouvimos nada sobre essa promessa desde então.

A Mozilla provavelmente tentou o Google seguir sua promessa, mas o Google nunca poderia - em vez disso, o Mozilla cedeu e adicionou o suporte H.264 anos mais tarde. H.264 é o atual codec padrão de fato, gosto ou não - e, ao usar um navegador da Apple ou da Microsoft, é o único disponível.É a única opção real para navegadores móveis, também. Muitos sites implementaram o vídeo HTML5 com apenas suporte H.264, e o Chrome e o FIrefox ficariam excluídos se eles não suportassem o H.264.

O problema real: Aceleração de hardware

Existe aqui um problema básico simples. A decodificação H.264( reprodução) é acelerada por hardware. Isso significa que o "trabalho" de reproduzir um arquivo de vídeo H.264 é feito pelo processador gráfico( GPU) de uma maneira muito mais eficiente. Se a descodificação de hardware não estivesse disponível, a CPU precisaria fazer todo o trabalho de forma menos eficiente. Isso significa que a reprodução leva menos tempo de CPU, o que significa que menos energia da bateria é desperdiçada e menos calor é gerado. Também pode significar uma reprodução mais suave se a CPU não puder acompanhar a reprodução do vídeo.

Realmente, todas as peças modernas de hardware suportam a decodificação acelerada por hardware H.264.Isso inclui todos os tipos de smartphones, tablets, PCs, Macs e até Chromebooks. Quando um navegador da Web - sim, mesmo o Chrome - reproduz o vídeo H.264, ele é descarregado para a GPU.Mesmo o Adobe Flash suportou a aceleração de hardware do vídeo H.264.

Mas não há hardware lá fora, que irá acelerar os vídeos VP8 e VP9.Quando o Google anunciou o VP8 em meados de 2010, uma variedade de empresas, incluindo grandes nomes como nVIDIA, AMD e Qualcomm, anunciaram que estariam apoiando o VP8 em seus produtos. Mas, mais de cinco anos depois, nenhum dispositivo já chegou com decodificação VP8 acelerada por hardware.

No recente anúncio do VP9 da Google, observa que "Mais de 20 parceiros de dispositivos em toda a indústria estão lançando produtos em 2015 e além de usar o VP9". O mesmo post também observa outras vantagens do VP9, ​​como tamanho de arquivo menor para a mesma qualidade. A Intel, a nVIDIA, a AMD e outras empresas se comprometeram a apoiar a decodificação acelerada por hardware da VP9.

Buscamos encontrar hardware que suporte a decodificação VP9 acelerada por hardware, e tudo o que achamos foi que a Intel lançou novos drivers Haswell e Broadwell para o Windows com "suporte de aceleração parcial de ardwareardware( sic)" para VP9 no início de 2015. Claramente há umaMuito mais trabalho a ser feito.

Como os outros problemas de desempenho do Chrome, isso pode ser pior em um Mac. Os engenheiros do Chrome fecharam um bug sobre o alto uso da CPU e a geração de calor em um MacBook com o comentário "O uso da CPU durante a reprodução VP9 em um Mac não é um erro". Isso pode ser verdade, mas o Google provavelmente não deveria estar servindo todos esses vídeos VP9para usuários do Chrome em Macs se o uso de CPU alto for normal. Isso apenas encoraja os usuários de Mac a usar o Safari.

Como fazer o YouTube reproduzir vídeos de forma mais eficaz

É um problema de frango e ovo, realmente - os fabricantes não vão implementar o VP9 acelerado por hardware até que ele seja realmente usado no mundo real. O Google resolveu este problema adicionando VP8 e VP9 ao Chrome e dizendo ao YouTube que veia os vídeos VP9 e VP8 no Chrome. O YouTube também pode exibir vídeos VP8 e VP9 para o Firefox.

Isso pode economizar algum tempo de download, mas isso significa que o YouTube drena mais bateria e ciclos de CPU no Chrome. Em dispositivos com CPU particularmente lentas, os vídeos podem até mesmo tartamudear em vez de reproduzir suavemente.

Para obter uma reprodução mais eficiente, você pode simplesmente mudar para Safari, Microsoft Edge ou Internet Explorer. Mas você não precisa fazer isso. Você pode instalar a extensão do navegador h264ify para o Chrome, o que forçará o Chrome a solicitar vídeos H.264 do YouTube. Eles parecerão o mesmo, mas o Chrome os reproduzirá de forma mais suave.

Faça o download do h264ify para o Chrome, obtenha o h264ify para o Firefox ou consulte a página do projeto no GitHub para obter mais detalhes.

Como ver se o YouTube está usando H.264, VP8 ou VP9

Para verificar qual codec YouTube está servindo no seu navegador, certo-clique um vídeo do YouTube durante a reprodução e selecione "Estatísticas para nerds". À direita de "Mime Type", você verá "video / mp4" e o codec "avc" para vídeos H.264 / MP4.

Para vídeos VP8 e VP9, ​​você verá "video / webm" e "vp9" ou "vp8".

No longo prazo, o Google VP9 push pode ser melhor para a web e levar a hardware que pode fornecer descodificação acelerada deste novo codec. Mas, no presente, você pode querer economizar a vida da bateria e fazer o seu laptop funcionar de forma mais eficiente, optando pela experiência do Google e usando o vídeo H.264.

Crédito de Imagem: Esther Vargas no Flickr