VLC video playback CPU usage improvement

Hi,

You certainly noticed playing a video in VLC draws a lot of CPU. There is a setting that could be changed to drastically reduce the CPU usage.

In my test, I reduced the CPU usage from 150-200% to 10-40%, this makes a huge difference. I used VLC from Flatpak.

In VLC:

  • click on “Tools” in the menu
  • Select “Preferences” (you could just do Ctrl+P)
  • Click on the tab “Video”
  • In the field “output”, select “X11 video output (XCB)”
  • Save
  • If you started to play a video, you need to stop and start again to apply changes

By default, I guess VLC uses OpenGL which uses software rendering on Qubes OS, which draws even more CPU.

17 Likes

:rofl:

This was actually already low given there is no hardware decoding and my test video is x265 10 bits encoded.

1 Like

If you still curious about performance, you can compare it to smplayer (it has mpv backed) or pure mpv? I use X11 there, too.

You are my hero

By the way, it would be nice if someone compiled these minor (in terms of implementation) optimizations into a single quality-of-life post/thread so people won’t have to browse through and open a hundred different posts further down the road. Ideally these posts would be organized into sections, give credit, have links, and condense things so they’re as compact as possible

Video playback

3 Likes

My word. Wish I knew about this years ago. I leave several videos up paused, and they eat up like 10% CPU each doing nothing. This dropped it down a lot.

3 Likes

For anyone reading this in the future:

3 Likes

See also:

1 Like

I was looking for a guide like this one thanks ! But since it’s a old guide do the settings still apply? I wonder if there is a way to optimize even more the performance under Qubes

It’s still working

4 Likes

Maybe it would be worth it to create an issue on the VLC Issue tracker so that it automatically selects X11(XCB) on QubesOS?

2 Likes

Maybe right way is use X11 for any type of vm without accelerated 3D graphics, but question is how they should find such cases.

Interesting results. I’ve seen similar behavior where VLC’s CPU usage can become surprisingly high when hardware decoding or video output isn’t being handled efficiently. It’s a good reminder that overall CPU usage alone doesn’t always tell the full story—per-core usage and GPU acceleration can also be important when diagnosing playback performance.