Jump to content

Transcoding Thread Count


stuartsjg

Recommended Posts

stuartsjg

Hello,

 

Just updated to 3.0.5724.3 and i spotted a new option which has little mention which i can find, under Playback -> Transcoding we have an option for "Transcoding Thread Count".

 

It does appear to work.

 

I have currently (getting upgraded next week back to hex core Xeon) a quad core / 8 thread CPU.  Playing a few movies i max the CPU "nice" (low priority in FreeNas) to 100% and yet none of the movies jump.   Guessing there have been big improvements in CPU scheduling?  

 

Mode set to "Max"

3 movies (each converting at 32,38 & 43fps) uses 740% of CPU (nearly all 8 threads committed).   The percentage each jostles between 75% & 350%.  All movies playing well with no issues.

 

Mode set to 6:

Total CPU to the 3 ffmpeg instances is 620%  The movies convert at 31fps, 28fps, 28fps and the percentage each has dropped and the change between about 60% and 250% each.   No playback issues with the movies.   FreeNas "nice" usage still 100% however "user" & "system" has dropped by 50% together.

 

 

Mode set to 4:

Total CPU to the 3 ffmpeg instances is still about 620%  The movies convert at 25fps, 26fps, 26fps and the percentage each has dropped and the change between about 60% and 250% each again.   No playback issues with the movies.   FreeNas reported "nice", "user" & "system" loads unchanged from 6 threads

 
Mode set to 2:
Little change from limit of 4
 
So, i certainly see a reduction in load from "Max" (essentially 8 for me) down to 6 however beyond that i see little difference - not sure why.
 
I do like the thread limit idea.  Perhaps there should be two limits available.  "Total transcode thread limit"  and "ffmpeg session thread limit".   
 
I could therefor ensure, for example, no more than 6 of 8 threads were used to transcode (basically what appears to happen now) and with multiple transcodes running each would get its fair share.   Unless the latter is pointless as the CPU priority que can take care of it simply by a process saying "i need more! running out of buffer!" and increasing its que priority to catch up.
 
I may be mistaken, but i think when i had the limit lower, perhaps the image quality dropped slightly?   Does this also adjust the now not present quality settings automatically?
 
Either way i do see a huge difference over a few months ago when i was unable to play two of the above test movies together, let alone 3 (and for a test i've just thrown in a 4th) with reduced cores so thanks to the team for the work!

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...