Aleksoid1978 / MPC-BE

MPC-BE – универсальный проигрыватель аудио и видеофайлов для операционной системы Windows.
GNU General Public License v3.0
2.35k stars 91 forks source link

Huge VideoProcessing utilization when using Intel ARC GPUs with all video files using both hardware/ software decoding #532

Closed NikosDi closed 3 months ago

NikosDi commented 3 months ago

Hello.

I have a Windows 11 system with Intel ARC A380 discrete card and it seems that both MPC-BE and standalone filters (latest versions for both) have huge VideoProcessing utilization using dGPUs from Intel (ARC cards).

The utilization of VideoProcessing is being reported by Task Manager while playing a n y video using hardware/software decoding - aka all the times.

Using VLC for the same video files, the VideoProcessing utilization is 0% or close to 0% in both hardware decoding and software decoding modes.

Why is this happening ? It seems that you always enable some kind of VideoProcessing - no matter what. Intel iGPUs seem to not have such issues using MPC-BE (or standalone video filters)

Is there a different playback mode being used by VLC achieving 0% VideoProcessing ?

TY, Nikos

clsid2 commented 3 months ago

It uses GPU video processor for resizing and colorspace conversion.

You can disable that in settings of the renderer. Then it will use PixelShaders instead. That utilization is shown differently.

v0lt commented 3 months ago

ID3D11VideoProcessor interface Apparently VLC doesn't use it. Maybe it depends on the settings.

If you are really bothered by this, you can disable D3D11 Video Processor for all formats (NV12, P010 and others) in the MPC VR settings.

NikosDi commented 3 months ago

I have the same issue using MPC-HC and LAV Video filters (even standalone outside MPC-HC) and also using EVR/ EVR CP renderer.

So. It seems that MPC VR is not the issue and perhaps the renderer in general is not the issue.

Could it be possible for VLC to utilize Intel VPL in order to achieve 0% VideoProcessing on Intel ARC GPUs ?

But I have huge VideoProcessing with both MPC-BE and MPC-HC even using software decoder and EVR for codecs like H.264/H.265

v0lt commented 3 months ago

I don't understand your "problem". And there is no VLC support here.

NikosDi commented 3 months ago

I thought my problem is obvious.

Intel ARC A380 is an entry level weak GPU that although it has a very fast decoder, due to the VideoProcessing utilization it has a serious bottleneck dropping frames in difficult clips and generally underperforming compared to its bigger brothers.

I'm not a fan of VLC, I'm a fan of MPC but unfortunately it's not VLC that needs support here.

I'm trying to figure out with your help, how could MPC players and relative standalone filters could be used, what settings do I have to set in order to achieve 0% VideoProcessing.

I hope it's clear now.

v0lt commented 3 months ago

I'm trying to figure out with your help, how could MPC players and relative standalone filters could be used, what settings do I have to set in order to achieve 0% VideoProcessing.

I wrote you above how to disable the use of D3D11 Video Processor. But I doubt that it will help you.

Watch a video that your hardware and software can play. Forget about 8k (you still haven't said what you're watching).

clsid2 commented 3 months ago

EVR-CP uses texture scaling instead of video processor, so if that has issues as well your system is seriously broken.

NikosDi commented 3 months ago

@clsid2

Windows 11 system coming from clean install - Definitely not broken

Clip: Samsung_SUHD_Journey_of_Color-50Mbps (HEVC 10bit 4K@60fps) GPU: Intel ARC A380 - Drivers v5590 (10/6/24)

1) MPC-HC v2.3.4 (Latest & Greatest - Using internal LAV filters v0.79.2.18)

SW decoding EVR 3D usage 45% VideoProcessing 20% EVR-CP 3D usage 57% VideoProcessing 40% MPC VR 3D usage 15% VideoProcessing 26% MPC VR (no D3D11/DXVA processing) 3D usage 52% VideoProcessing 0%

DXVA2 native decoding EVR 3D usage 8% VideoProcessing 33% EVR-CP 3D usage 11% VideoProcessing 33% MPC VR (no D3D11/DXVA processing) 3D usage 70% VideoProcessing 0%

2) VLC v3.0.21 3D usage 5% VideoProcessing 0%

All usage values reported by Task Manager.

@clsid2 @v0lt Guys...I think you must take another look regarding Intel ARC GPUs video playback.

clsid2 commented 3 months ago

Those numbers are completely utterly meaningless without knowing the clockspeed at which the GPU is running.

We don't have Intel ARC and we don't give a fuck about Intel ARC. Intel drivers are buggy as fuck, and you should be using D3D11 decoding instead of DXVA2 because Intel has bad support for DirectX9.

I suggest you go use VLC.

v0lt commented 3 months ago

1) MPC-HC v2.3.4 (Latest & Greatest - Using internal LAV filters v0.79.2.18)

Offtopic.

Guys...I think you must take another look regarding Intel ARC GPUs video playback.

Should I look at Intel ARC in photos? I won't buy this video card to fix a "bug" (or not a bug) in another player.

NikosDi commented 3 months ago

@clsid2 The numbers are not meaningless, the workload is really increased the way is reported by the numbers. The GPU clock is the same.

@clsid2 @v0lt

Intel ARC GPUs are among the best if not the best regarding video support in all terms. Decoding/ encoding/transcoding/ quality/ speed/ features.

It is true that sales figures are not quite good, but this is irrelevant. Intel ARC A380 remains the most cost effective AV1 decoding/ encoding GPU of the market.

I'm not a fan of Intel or VLC but I see Xe2 is coming in late 2024 with even VVC hardware acceleration support (first in PC world) and Intel is killing it in video support.

Is it a bug of VLC or inefficiency of MPC HC & BE players ? Maybe VLC is utilizing ARC's video hardware using VPL or other way.

You are the experts, you know better the insides of video players.

Aleksoid1978 commented 3 months ago

If you really need it, you can buy/provide the developers with Intel ARC A380 and then we'll see what's what.