¿Por qué los reproductores flash consumen hasta 20 veces más CPU que el reproductor VLC para ver exactamente el mismo archivo de video?

8

Cuando reproduzco un video (H264 MPEG4 AVC 320x180) en línea (en Firefox o Chrome), se usa para consumir hasta un 100% de CPU, pero si lo descargo (exactamente el archivo reproducido) y uso VLC, solo se necesita un 5% (6 % al máximo). ¿Por qué sucede esto y qué puedo hacer para que los jugadores en línea sean más eficientes?

PD: La tarjeta de video es Intel GMA X4500HD.

Ivan
fuente
¿Se está reproduciendo el archivo en el navegador usando Flash o HTML5? ¿Cuáles son las cifras para jugar en Totem (usando GStreamer)?
8128
Ya dije que es Flash. No tengo Tótem para probar, pero creo que no será mucho peor que VLC.
Ivan
Supongo que Flash-plugin + Browser (Firefox, Chrome, ..) es un sistema mucho más complejo que un reproductor de películas como VLC. No quiero decir que los reproductores de películas sean simples, pero supongo que hay menos componentes interactuando que dentro de un navegador.
matemáticas
El uso intensivo de la CPU no se limita a VIDEO, sino que también se aplica a STREAMING AUDIO (por ejemplo, estaciones de RADIO) en Firefox o Chromium; ¡La transmisión en VLC es mucho más liviana en comparación!
loco por natty

Respuestas:

6

La razón probable es que el complemento Flash no puede aprovechar ningún tipo de aceleración de hardware compatible con el controlador de su tarjeta gráfica. Luego todo se decodifica utilizando la CPU.

Los controladores Intel presentes en su sistema permiten que VLC use su GPU en lugar de su CPU para reproducir la película con aceleración de video, lo cual es mucho mejor por razones obvias.

Además, la API de aceleración de hardware Flash (Stage Video) requiere que los desarrolladores realmente agreguen soporte en sus SWF de reproductor de video.

Si el reproductor de video no tiene soporte incorporado para él, incluso si la versión de Flash que tiene tiene VA habilitado y sus controladores lo admiten (parece que lo hacen ya que VLC aparentemente lo está usando) su video se decodificará a través de la CPU.

Bruno Pereira
fuente
Pero, ¿no debería Flash en Linux poder hacer uso de la aceleración de hardware de gráficos desde la versión 10.2 beta? Ver phoronix.com/…
nem75
@ nem75 no si el reproductor de video que está utilizando se compiló sin soporte o si el complemento Flash no usa las funciones de aceleración de su tarjeta de video, recuerde que estamos hablando de un Intel, no de un Nvidia o ATI.
Bruno Pereira