Apa yang menyebabkan video diputar dengan buruk di VLC?

0

Saya memutar video kualitas tinggi (1080p) menggunakan VLC di dalam mesin virtual qemu-kvm. OS di mesin virtual saya adalah gentoo dan OS host adalah Ubuntu.

Pengalaman video sangat tersentak-sentak: video berhenti banyak, log mode verbose memiliki banyak "PTS berada di luar jangkauan, menjatuhkan buffer" dan pesan "gambar terakhir dilewati".

Pemanfaatan CPU dari proses qemu tidak mendekati 100%. Pemanfaatan disk juga tidak. (Menggunakan inspeksi visual topdan iotop).

Apa lagi yang bisa menyebabkan masalah ini? Opsi apa yang bisa saya coba dalam vlc untuk mencari tahu masalahnya?

AnkurVj
sumber
1
Jangan melihat penggunaan CPU di host, jalankan top dan iotop di tamu Gentoo Anda dan beri tahu kami apa yang dikatakannya.
Dustin G.
@DustinG sepertinya penggunaan CPU pada tamu lebih dari 90% sebagian besar waktu video diputar. Mengapa pemanfaatan CPU tamu harus lebih dari tuan rumah?
AnkurVj
Karena ketika Anda melakukan virtualisasi, tamu mendapatkan sebagian dari apa yang dimiliki Host sejauh perangkat keras berjalan. Jadi jika Anda memiliki prosesor quad-core dan Anda memberikan guest 1 core - maka tamu akan menunjukkan pemanfaatan CPU yang lebih tinggi daripada host karena sumber daya relatif yang tersedia. Pikirkan seperti ini, jika utilisasi 100% pada satu inti adalah pemanfaatan 25% saat melihat quad core.
Dustin G.
tetapi ketika saya melakukan top, bukankah itu hanya menunjukkan utilisasi CPU dari CPU di mana proses berjalan? Saya menjalankan tes ini pada mesin dengan 12 core
AnkurVj
Berapa banyak core yang Anda tetapkan ke virtual?
Dustin G.

Jawaban:

1

Jika memungkinkan, saya akan mengalokasikan lebih banyak sumber daya ke mesin Virtual. Secara khusus, mengalokasikan lebih banyak Core dan melihat apakah Anda dapat meningkatkan RAM Video. Mesin virtual tidak diberikan akses ke 100% dari sumber daya di komputer Anda, hanya hingga jumlah maksimum yang Hypervisor (qemu-kvm dalam kasus Anda) memungkinkan. Perlu diingat bahwa sistem Anda juga menggunakan kartu grafis tervirtualisasi sehingga tidak sekuat kartu grafis karena tuan rumah Anda memiliki akses ke - bahkan jika Hypervisor memungkinkan fitur video canggih, masih ada hukuman kinerja untuk virtual emulasi perangkat.

Dustin G.
sumber
1
Saya pikir saya perlu menyelidiki lebih dalam mengapa penggunaan CPU tervirtualisasi begitu tinggi. Terima kasih atas tipnya
AnkurVj
1
Video berkualitas tinggi akan mengenakan pajak konfigurasi cpu tunggal, terutama saat tidak memanfaatkan akselerasi video penuh.
Dustin G.
0

Tidakkah qemu-kvm menggunakan vnc untuk tampilannya? Saya kira bahwa video diterjemahkan dalam perangkat lunak, dan kemudian bitmap dikirim ke proses vnc-viewer, dan kemudian ke server X, dan kemudian ke kartu video.

Juga, pemanfaatan CPU. Saya pikir linux tidak memisahkan% idle (menunggu pengguna) dan% wio (menunggu io). Jika suatu proses menunggu kartu grapics, itu dicatat sebagai idle.

Jika Anda benar-benar ingin melihat video dari mesin virtual, Anda mungkin perlu mencari sesuatu yang dapat menulis langsung ke kartu grafis Anda. Itulah vlc yang berjalan di vm Anda perlu menggunakan sesuatu seperti DRI untuk memetakan kartu grafis Anda ke dalam ruang memori virtual vlc sendiri.

fstx
sumber
Saya pikir qemu-kvm menggunakan SDL secara default, dan vnc adalah opsional. bahkan jika video diterjemahkan dalam perangkat lunak dan itu tidak cukup cepat maka seharusnya saya tidak melihat utilisasi CPU 100%? \
AnkurVj