Mengapa pemutar flash mengonsumsi CPU hingga 20 kali lebih banyak daripada VLC player untuk melihat file video yang sama persis?

8

Ketika saya memutar video (H264 MPEG4 AVC 320x180) online (di Firefox atau Chrome) digunakan untuk mengkonsumsi hingga 100% CPU, tetapi jika saya mengunduhnya (persis file diputar) dan menggunakan VLC - hanya membutuhkan 5% (6 % maksimum). Mengapa ini terjadi dan apa yang bisa saya lakukan untuk membuat pemain online lebih efisien?

PS: Kartu video adalah Intel GMA X4500HD.

Ivan
sumber
Apakah file di browser diputar menggunakan Flash atau menggunakan HTML5? Berapa angka untuk bermain di Totem (menggunakan GStreamer)?
8128
Saya sudah mengatakan itu Flash. Saya tidak punya Totem untuk dicoba, tetapi saya percaya itu tidak akan jauh lebih buruk daripada VLC.
Ivan
Saya menganggap Flash-plugin + Browser (Firefox, Chrome, ..) adalah sistem yang jauh lebih kompleks daripada pemutar film seperti VLC. Saya tidak bermaksud bahwa pemain film itu sederhana, tetapi saya kira ada lebih sedikit komponen yang berinteraksi daripada di dalam browser.
matematika
Penggunaan CPU yang berat tidak terbatas pada VIDEO tetapi juga berlaku untuk STREAMING AUDIO (mis. Stasiun RADIO) di Firefox atau Chromium; streaming di VLC jauh lebih ringan dibandingkan!
gila tentang rapi

Jawaban:

6

Alasan yang mungkin adalah bahwa plugin Flash tidak dapat memanfaatkan segala jenis akselerasi perangkat keras yang didukung oleh driver kartu grafis Anda. Semuanya kemudian diterjemahkan menggunakan CPU.

Driver Intel yang ada di sistem Anda memungkinkan VLC untuk menggunakan GPU Anda alih-alih CPU Anda untuk membuat film dengan akselerasi video yang jauh lebih baik karena alasan yang jelas.

Juga, API akselerasi perangkat keras Flash (Stage Video) mengharuskan pengembang untuk benar-benar menambahkan dukungan untuk itu ke SWF pemutar video mereka.

Jika pemutar video tidak memiliki dukungan bawaan untuk itu, bahkan jika versi Flash yang Anda miliki telah mengaktifkan VA dan driver Anda mendukungnya (tampaknya mereka melakukannya karena VLC tampaknya menggunakannya) video Anda akan di-decode melalui CPU.

Bruno Pereira
sumber
Tapi bukankah Flash di Linux dapat memanfaatkan akselerasi perangkat keras grafis sejak 10,2 beta? Lihat phoronix.com/…
nem75
@ nem75 bukan jika pemutar video yang Anda gunakan dikompilasi tanpa dukungan atau jika plugin Flash gagal menggunakan fitur akselerasi kartu video Anda, ingatlah kita berbicara di sini tentang Intel, bukan Nvidia atau ATI.
Bruno Pereira