VideoHelp Forum




+ Reply to Thread
Results 1 to 8 of 8
  1. Member
    Join Date
    Aug 2013
    Location
    Germany
    Search Comp PM
    Hello,

    I'm just trying out divx and xvid codecs which both result in really good compression, but also with major problems in encoding speed.

    For example divx uses only half of my computers cores, taking approximately 6 hours to convert a video of the length of 52 minutes. The xvid codecs uses even more time for the same video but it utilizes just a single core of my cpu.

    So the main question here is: Shouldn't there be better multicore support, at least for xvid? Or did I set up anything wrong?

    Greetings,

    Ravior
    Quote Quote  
  2. a. there hasn't been much development in ages (small changes happen from time to time)
    b. it's not easy to convert non-multithreaded code to multithreaded. It's not simply a rewrite, but often new algorithms have to be developed and tested to keep the loss from using a multithreaded approach to a minimum.

    So yes, Xvid&Co do not scale so well in regards to multithreading (depending on the settings) and this will probably not change unless some folks who are really into it decide that they want to spend at least half a years worth of their free time to develop new algorithms. Problem is nowadays MPEG-4 ASP isn't that interesting, most folks and companies will rather look at MPEG-4 AVC or HEVC.

    -> you probably didn't set up anything wrong
    Quote Quote  
  3. Banned
    Join Date
    Oct 2004
    Location
    Freedonia
    Search Comp PM
    If I use Xvid4PSP to encode with Xvid, it gives me good performance on my 6 core AMD CPU. I could probably do your encode in an hour, maybe 2. Maybe what you're using to encode with is not set up in an optimal way.
    Last edited by jman98; 11th Aug 2013 at 06:43. Reason: clarity
    Quote Quote  
  4. Xvid and Divx are poorly multithreaded. What you're seeing is normal.
    Last edited by jagabo; 11th Aug 2013 at 07:06.
    Quote Quote  
  5. No doubt Divx/Xvid aren't well multithreaded but Xvid should use more than one core. Any filtering you might apply while encoding can also be a bottleneck.

    Which encoding GUI do you use? Could an encoder GUI restrict encoding to a single thread? It might pay to look for an appropriate setting in your program's preferences.
    My workaround/solution to the problem when I used to encode with Xvid regularly was simply to run two encodes simultaneously whenever possible. Each encode will still take around the same amount of time, but you can effectively encode more video in the same amount of time. Most of my Xvid encoding was done using AutoGK and as a general rule it'd use all four cores of my CPU, but total CPU usage would probably average around 50% to 70%. AutoGK can't actually run 2 encoding jobs simultaneously but it is possible to run two instances of AutoGK at the same time and have each running single encodes.

    If you're using an encoder GUI which won't run more than one encode simultaneously, maybe try using a different one. Or try a different encoder GUI to see if CPU usage changes as a result.
    Quote Quote  
  6. Originally Posted by hello_hello View Post
    using AutoGK and as a general rule it'd use all four cores of my CPU, but total CPU usage would probably average around 50% to 70%.
    Recent builds of Xvid have worse multithreading than, say, 5 years ago. I used to see numbers like that on a quad core system but newer builds hover around 30 percent.
    Quote Quote  
  7. @jagabo: I don't think that recent versions of Xvid are worse regarding multithreading, only the newer options are.
    Quote Quote  
  8. As computers get faster and have more cores, the encoding time for divx/xvid will continue to improve. Xvid and Divx are not as efficient as H264 in using 100% of all multicore cpu's, but depending on what type of device you are encoding for, it is still worth using.
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!