Warum verbrauchen Flash-Player bis zu 20-mal mehr CPU als VLC-Player, um genau dieselbe Videodatei anzuzeigen?

8

Wenn ich ein Video (H264 MPEG4 AVC 320x180) online (in Firefox oder Chrome) wiedergebe, verbraucht es bis zu 100% CPU, aber wenn ich es herunterlade (genau die abgespielte Datei) und VLC verwende, dauert es nur 5% (6) % Maximal). Warum passiert das und was kann ich tun, um Online-Spieler effizienter zu machen?

PS: Die Grafikkarte ist Intel GMA X4500HD.

Ivan
quelle
Wird die Datei im Browser mit Flash oder HTML5 abgespielt? Was sind die Zahlen für das Spielen in Totem (mit GStreamer)?
8128
Ich habe bereits gesagt, dass das Flash ist. Ich habe kein Totem zum Ausprobieren, aber ich glaube, es wird nicht viel schlimmer als VLC.
Ivan
Ich gehe davon aus, dass Flash-Plugin + Browser (Firefox, Chrome, ..) ein viel komplexeres System ist als ein Movie Player als VLC. Ich meine nicht, dass Filmplayer einfach sind, aber ich würde vermuten, dass weniger Komponenten interagieren als in einem Browser.
Mathe
Die hohe CPU-Auslastung ist nicht auf VIDEO beschränkt, sondern gilt auch für STREAMING AUDIO (z. B. RADIO-Stationen) in Firefox oder Chromium. Streaming in VLC ist im Vergleich sooo viel leichter!
verrückt über natty

Antworten:

6

Der wahrscheinliche Grund ist, dass das Flash-Plugin keine von Ihrem Grafikkartentreiber unterstützte Hardwarebeschleunigung nutzen kann. Alles wird dann mit der CPU dekodiert.

Mit den in Ihrem System vorhandenen Intel-Treibern kann VLC Ihre GPU anstelle Ihrer CPU verwenden, um den Film mit Videobeschleunigung zu rendern, was aus offensichtlichen Gründen viel besser ist.

Außerdem müssen Entwickler für die Flash-Hardwarebeschleunigungs-API (Stage Video) Unterstützung für ihre Video-Player-SWFs hinzufügen.

Wenn der Videoplayer keine integrierte Unterstützung dafür hat, auch wenn für die von Ihnen verwendete Flash-Version VA aktiviert ist und Ihre Treiber dies unterstützen (dies scheint der Fall zu sein, da VLC es anscheinend verwendet), wird Ihr Video über die CPU dekodiert.

Bruno Pereira
quelle
Aber sollte Flash unter Linux nicht in der Lage sein, die Beschleunigung der Grafikhardware seit 10.2 Beta zu nutzen? Siehe phoronix.com/…
nem75
@ nem75 nicht, wenn der von Ihnen verwendete Videoplayer ohne Unterstützung kompiliert wurde oder wenn das Flash-Plugin die Beschleunigungsfunktionen Ihrer Grafikkarte nicht nutzt, denken Sie daran, dass es sich hier um einen Intel handelt, nicht um einen Nvidia oder ATI.
Bruno Pereira