Por que os flash players consomem até 20 vezes mais CPU que o VLC para exibir exatamente o mesmo arquivo de vídeo?

8

Quando reproduzo um vídeo (H264 MPEG4 AVC 320x180) on-line (no Firefox ou Chrome), ele consome até 100% da CPU, mas se eu o baixar (exatamente o arquivo reproduzido) e usar o VLC - são necessários apenas 5% (6 % no máximo). Por que isso acontece e o que posso fazer para tornar os jogadores on-line mais eficientes?

PS: A placa de vídeo é Intel GMA X4500HD.

Ivan
fonte
O arquivo no navegador está sendo reproduzido usando Flash ou HTML5? Quais são os números para jogar no Totem (usando o GStreamer)?
8128
Eu já disse que é o Flash. Não tenho Totem para tentar, mas acredito que não será muito pior que o VLC.
Ivan
Presumo que o Flash-plugin + Browser (Firefox, Chrome, ..) seja um sistema muito mais complexo que um reprodutor de filmes como o VLC. Não quero dizer que os players de filme sejam simples, mas acho que há menos componentes interagindo do que dentro de um navegador.
matemática
O uso intenso da CPU não se restringe ao VÍDEO, mas também se aplica ao STREAMING AUDIO (por exemplo, estações RADIO) no Firefox ou Chromium; o streaming no VLC é muito mais leve em comparação!
noz sobre elegante

Respostas:

6

O motivo provável é que o plug-in Flash não pode tirar proveito de nenhum tipo de aceleração de hardware suportada pelo driver da placa de vídeo. Tudo é decodificado usando a CPU.

Os drivers Intel presentes no seu sistema permitem que o VLC use sua GPU em vez de sua CPU para renderizar o filme com aceleração de vídeo, o que é muito melhor por razões óbvias.

Além disso, a API de aceleração de hardware Flash (Stage Video) exige que os desenvolvedores realmente adicionem suporte a ela nos SWFs do player de vídeo.

Se o player de vídeo não tiver suporte embutido, mesmo que a versão do Flash que você possui tenha o VA ativado e seus drivers o suportem (parece que sim, já que o VLC aparentemente o está usando), seu vídeo será decodificado por meio da CPU.

Bruno Pereira
fonte
Mas o Flash no Linux não deveria poder usar a aceleração de hardware gráfico desde a versão 10.2 beta? Veja phoronix.com/…
nem75
@ nem75 não, se o player de vídeo que você está usando foi compilado sem suporte ou se o plug-in Flash não usar os recursos de aceleração da placa de vídeo, lembre-se de que estamos falando aqui de uma Intel, não de uma Nvidia ou ATI.
Bruno Pereira