Multi threading limit?

I’ve noticed when poking at things like the canned fire escape benchmark(which is exporting in x264 or x265) there seems to be something of an upper limit in the number of cores that shotcut will load. As far as I know outside of a few specific codecs(like avchd) ffmpeg will use numbers of threads not available in modern systems given the chance. Does shotcut(or MLT) have some form of upper limit for the threads it can use?

Yes, but as usual the answer is that it is complicated and depends on many things. I think the fire escape benchmark is using the Text filter across the entire timeline, which is going to create some bottlenecks due to the unoptimized compositor used in that (should be improved in v18.12). There are a few forms of parallelism in MLT (not including GPU Effects): SIMD (not threaded), image slice, and frame. Slice-based processing uses a pool based on Minimum(#CPU threads, getenv(MLT_SLICES_COUNT), 32). Shotcut limits the MLT frame-threaded image rendering to Minimum(#CPU threads - 1, 4) because it rarely gives measured improvement over that.

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