elFarto / nvidia-vaapi-driver

A VA-API implemention using NVIDIA's NVDEC
Other
1.22k stars 56 forks source link

Video stutters when having more than 1 YT videos playing? #190

Closed aw16046 closed 1 year ago

aw16046 commented 1 year ago

Anyone else having this issue? For example, having more than 1 firefox application open and both of them playing 4K videos.

Thanks in advance.

elFarto commented 1 year ago

I see a few dropped frames with two 4k videos playing, but we've seen that for a while on 4k videos (see #37). I see a lot of dropped frames with three 4k videos playing.

I may be worth seeing how much load your NVDEC engines are under while this is happening, using something like nvidia-smi pmon or nvtop.

aw16046 commented 1 year ago

Thanks for responding. I'll need to look into pmon later as I'm not on my linux machine right now.

Could you see if YT videos stutter on this video? https://www.youtube.com/watch?v=LXb3EKWsInQ (4K60p Costa Rica).

On my windows machine it runs without stuttering on 3 instances of the video but I recall it really gets bogged down on 2 instances on linux. I suppose it could be because this is 60p?

I have a 2080 Ti if that is of any relevance.

elFarto commented 1 year ago

That video does start to drop frames if I open three of them, although it's difficult to notice any major stuttering. They do look a little less smooth than with just one playing.

A 2080Ti should be able to decode three at once without issue.

POMATu commented 1 year ago

when i play 4k video my video decoding engine gets utilized to 25% max and thats on RTX 1080. There is no way it can be overloaded with 3 videos.

and I havent seen any stutters so far, maybe few times i heard some click when i start playing or reload page and start playing again like some video engine activation glitch but no stutters during continuous playback

If nobody else having this issue TS might wanna check pulseaudio. Because this is a usual source of bullshit for everything and can affect video playbacks too (because video plays sound via it and if pulseaudio cant accept packets then video freezes i think its possible to make it stutter this way too if pulseaudio having poor perfomance)

UPD: Just to back up my assumption even more: Recently I was transferring a lot of files and writing data to multiple HDD and usb-HDD and also taking md5 hashes of data. While my CPU was not overloaded apparently some northern bridge or some other bus was overloaded. I got stutters during youtube playback but it was still caused by pipewire/alsa and not by actual video engine but video playback does gets affected by sound playback.

Linux sound system is piece of shit so its the first point to check before anything else. You can try moving to pipewire or instead moving back to pulseaudio and see if issue persists. You can also try setting resampling to worst quality possible and see if issue persists. Unfortunately firefox does not supports ALSA directly anymore so you cant test it without pulseaudio it wont play anything this way. If there is any way to make it play audio to void instead of pulseaudio you could also try testing it without sound and check if video stutters. But I dont know such way

aw16046 commented 1 year ago

Just want to leave a comment before I close this issue in case others may be experiencing the same thing I did. I have figured out the issue myself, and it's not the vaapi-driver. It was an firefox issue altogether, and the top comment of this reddit post helped me: https://www.reddit.com/r/firefox/comments/owc2ne/firefox_dropping_frames_on_youtube_when_out_of/