Hi All
Was hoping if anybody can give their input on a problem I'm having.
I have some sort of VMS in Maui made using libVLC
But I have ran into issues increasing stream count.
Up to 24 streams no issues, but as soon as the 25th stream hits my CPU load spikes like crazy.
I go from like 15% CPU load to 70%.
I have done something similar in WPF which went fine on even 66 streams. I know WPF is not the same but libvlc isn't the issue.
Small sidenote a made a test in WinUI3 40 streams loaded fine with only 15% CPU load.
Does anybody know how valid the below is?
Each MAUI VideoView creates its own SwapChainPanel = its own DXGI swap chain. 28 streams = 28 swap chains feeding
the WinUI DirectComposition compositor, which chokes past ~25. WPF doesn't have this problem because it uses a
single shared D3DImage surface — one compositor target for all streams.
Switch LibVLC from the built-in VideoView (one SwapChainPanel each) to callback rendering (SetVideoFormat +
SetVideoCallbacks), then composite all streams into 1–4 shared SwapChainPanels as tiles. Same RTSP URLs, same HW
decode, same FPS/resolution. Just one compositor target instead of 30.
Thanks