Thumbnail generation does not use GPU/HW acceleration but solely CPU

Server Version#: 1.40.2.8273
Player Version#: 1.89.1.107-20abacd1 (not important here)

My Host:

  • HW: Intel NUC13 i7-1360p
  • OS: Debian SID
  • Kernel: 6.7.9-2
  • Docker: 26.0.0

I’m using the Plex Docker Image and have observed the following issues:

  1. Thumbnail generation takes a long time and significantly increases CPU usage for an extended period.
  2. Plex actually utilizes GPU/Hardware Acceleration for media transcoding.
  3. However, during thumbnail generation, I notice a spike in CPU load, which seems unnecessary given that the integrated iGPU is specifically designed (and purchased) to handle such loads.

I personally would like to address this in the following order:

  1. Can someone confirm these observations?
  2. If confirmed by others, is this behavior expected?
  3. If not expected, could someone please verify this as a potential bug?

It would be greatly appreciated if this issue could be resolved, so that if GPU acceleration is available and activated, it can be utilized for tasks like thumbnail generation. Additionally, since Plex is not the only application running on the host, optimizing resource usage is important.

Thank you in advance. I’m open to further discussion and available for any additional information needed.

P.S.: It appears that this issue has been present for some time, as discussed here: plexpass_thumbnails_generating_using_cpu_with_hw

See this thread:

I have reads that thread, but am pretty sure, that this is not the full truth.

There is no way a modern CPU is used up to 60-70% CPU load just to generate thumbnails (or whatever!)

Also I do not care about the differenciation of this thread between “into detection” and “thumbnail creation”. Because what I see on my CPU is this:


(sensible info censored)

Which is clearly showing, that the CPU is handeling Plex own fork/compilation of FFmpeg.
But everything that runs on FFmpeg can be proccessed by the GPU.
There should not be any discussion about this - this is a fact. This is doing transcoding work. Not anything else, mentioned in the thread you mentioned.

Please do not talk down this topic/thread, or reference to other threads - I have done my due diligence to do my research before posting.

  • This load is not normal
  • No I dont just want to generate these thumbnails on period, but when added
  • When added (actually when the work has to be done) the work is done super inefficient.

Such load (as also mentioned in the other thread) can be offloaded to the GPU/QuickSync and does not need to run to 100% on CPU.
Also: ALL what was mentioned in the other thread, would not even trigger a load of more than 5% of any modern CPU. Reading and writing to DB… does NOT have anything to do with CPU load, but with I/O.

This basically is a lose and meaningless statement, which is true, but does not have ANYTHING to do with the CPU load in the mentioned thread. Nor in my thread here. Reading and writing to any DB, does not trigger any visible/noticable CPU load.

The screenshot I have proved proves: there is transcoding work beeing done in the CPU!

This high CPU load just occured since I activated thumbnail generation. I now have the very same settings as before (intro/outro identification etc.) the only thing that changed is the activation of thumbnail generation and immediately got high CPU load.

On top of this, I on purpose triggered the thumbnail-generation of some videos and had a look at the GPU load:

(intel_gpu_top)

The GPU load, while the CPU was working hard on transcoding (generating thumbnails), was 0%!!!

Again: the transcoding-work, of the thumbnail-generation can (and should!) be offloaded to the GPU. Please no excuses like these:

These are just cheap excuses to which there are multiple solutions:

  1. make it an option! (so the 0.001% super low performance user can disable it)
  2. run it with low priority, so it never disturbs any live-transcoding

Besides this, even these super low power performance QSV GPUs can do the work. And way more efficient than the CPU. As these super low performant APUs have also … gues what? A super low performing CPU… so doing it by CPU does not make much sense.

If the thumbnailgeneration would have used the GPU, it would have looked like this:


(with -hwaccel in the command)

But while thumbnail generation no HW Acceleration was used!

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.