Dlaczego odtwarzacze flash zużywają do 20 razy więcej procesora niż odtwarzacz VLC, aby oglądać dokładnie ten sam plik wideo?

8

Kiedy odtwarzam wideo (H264 MPEG4 AVC 320x180) online (w przeglądarce Firefox lub Chrome), zużywa do 100% procesora, ale jeśli go pobiorę (dokładnie odtwarzany plik) i użyję VLC - zajmie to tylko 5% (6 % maksymalnie). Dlaczego tak się dzieje i co mogę zrobić, aby zwiększyć wydajność graczy online?

PS: Karta graficzna to Intel GMA X4500HD.

Ivan
źródło
Czy plik w przeglądarce jest odtwarzany za pomocą Flasha lub HTML5? Jakie są liczby do gry w Totemie (za pomocą GStreamera)?
8128
Powiedziałem już, że to Flash. Nie mam Totemu do wypróbowania, ale wierzę, że nie będzie to o wiele gorsze niż VLC.
Ivan
Zakładam, że wtyczka Flash + przeglądarka (Firefox, Chrome, ..) jest znacznie bardziej złożonym systemem niż odtwarzacz filmów jak VLC. Nie chodzi mi o to, że odtwarzacze filmów są proste, ale sądzę, że mniej elementów wchodzi w interakcje niż w przeglądarce.
matematyka
Duże obciążenie procesora nie jest ograniczone do VIDEO, ale dotyczy również STREAMING AUDIO (np. Stacje RADIO) w Firefox lub Chromium; streaming w VLC jest o wiele lżejszy w porównaniu!
orzechowy o natty

Odpowiedzi:

6

Prawdopodobnym powodem jest to, że wtyczka Flash nie może korzystać z żadnego przyspieszenia sprzętowego obsługiwanego przez sterownik karty graficznej. Wszystko jest następnie dekodowane przy użyciu procesora.

Obecne w systemie sterowniki Intel pozwalają VLC na użycie GPU zamiast procesora do renderowania filmu z przyspieszeniem wideo, które jest znacznie lepsze z oczywistych powodów.

Ponadto interfejs API akceleracji sprzętowej Flash (Stage Video) wymaga od programistów dodania obsługi tego formatu do plików SWF odtwarzacza wideo.

Jeśli odtwarzacz wideo nie ma wbudowanej obsługi, nawet jeśli wersja Flasha, którą masz, ma włączoną obsługę VA, a sterowniki ją obsługują (wydaje się, że tak, ponieważ VLC go używa), wideo zostanie zdekodowane przez procesor.

Bruno Pereira
źródło
Ale czy Flash w systemie Linux nie powinien korzystać z przyspieszenia sprzętowego grafiki od wersji 10.2 beta? Zobacz phoronix.com/…
nem75
@ nem75 nie jeśli odtwarzacz wideo, którego używasz, został skompilowany bez wsparcia lub jeśli wtyczka Flash nie korzysta z funkcji przyspieszenia twojej karty graficznej, pamiętaj, że mówimy tutaj o Intelie, a nie Nvidii lub ATI.
Bruno Pereira