Boa noite a todos.
Pensei em escrever esse tópico para ajudar os usuários pois muitos não conhecem a página do Chrome para checar se o navegador está usando a GPU. Uma curiosidade, só porque o video está rodando na sua tela, não quer dizer que está usando a GPU, videos podem ser decodificados pela CPU e roda normalmente.
Vou começar falando do Chrome e depois o Firefox. No chrome existe a página chrome:gpu. Quando você acessa ela, tem todas as informações mas o principal (pelo menos para mim) são duas partes.
Essa primeira parte é os recuros gráficos do navegador e fica fácil de ver o que está usando a GPU e o que não está usando. Mas o que quero mostrar é nem sempre o que aparece ali, está usando GPU de fato, principalmente no video decode e encode.
A segunda parte mais importante para mim é o que fica ao rolar a página, onde você encontra quais codecs suportados pelo navegador utilizam GPU. No meu caso aparece assim.
Se aparecer alguma dessas informações, o navegador vai usar a GPU para rodar os videos. Caso contrário, vai usar a CPU, como no exemplo abaixo que eu recuperei de uma resposta antiga aqui no fórum. No caso, era um computador de um site que permitia utilizar via rede para testar Ubuntu em uma maquina de verdade. Veja que por mais que apareça que video decode está usando a GPU, não tem nenhuma informação de codecs na parte final da pagina. Ou seja, está usando CPU para decode de videos.
Caso que queira ver qual decoder está sendo usado no Chromium ou derivados, basta abrir as ferramentas desenvolvedor e depois abrir o painel de media. Vai ter as informações se está utilizando GPU ou não.
Pelo que testei mais recentemente em hardware Intel, tanto Chrome (e derivados) quanto o Firefox utilizam a aceleração gráfica para videos por meio da VAAPI. Eu sei que para placas Nvidia a api usada era o VDPAU, mas não sei como está atualmente o suporte para Nvidia.
Agora para o Firefox. Ele possui a página about:support onde você consegue ver as informações de GPU, mas infelizmente essa página é bem imprecisa. Vou mostrar aqui o porque. Primeiro a parte que interessa para nós é essa aqui, onde é mostrado qual a composição utilizada pelo navegador.
Quando a composição está sendo feita pela CPU, vai aparecer escrito WebRender (software). Para finalizar, rolando um pouco mais a página, vai aparecer as informações de codecs suportados e se tem suporte a aceleração de hardware. O que poderia ser uma boa ferramenta é muito imprecisa. No meu caso aparece assim. Meu hardware não tem suporte a aceleração de video para codec AV1 mas mesmo assim aparece que tem suporte.
A situação fica pior quando se abre a mesma página em um computador com hardware antigo. Ainda vai aparecer suporte da decodificação de hardware para todos os codecs listados, mesmo que esteja rodando em uma CPU de segunda geração, quando o VP9 nem existia. Infelizmente Firefox não possui ferramenta de desenvolvedores para checar qual decoder está sendo utilizado mas é possível verificar usando algum software que vê os sensores da placa gráfica e consegue dizer se está sendo utilizada para acelerar o vídeo.
Espero que sirva de ajuda.
OBS: uns anos atrás que fui ler sobre esse assunto de codecs porque eu descobri que era por causa disso que os videos do Youtube rodavam melhor em outros navegadores e não no Chrome. Chrome servia o VP9 independe se sua CPU aguentava rodar ou não. Os outros serviam o que o computador suportava rodar na GPU. Eu tinha um PC antigo na época que não suportava VP9, só H264.





