VideoHelp Forum




+ Reply to Thread
Results 1 to 7 of 7
  1. Member
    Join Date
    May 2009
    Location
    United States
    Search Comp PM
    With over 30 hours of render time staring me in the face, plus the fact that the CPU usage averages only about 30%, it's time for me to figure out why the VDub+Avisynth combination isn't making better use of the CPU, and what I can do about it.

    Using the latest non-mod VDub, and Avisynth 2.6 multithread. All four cores are being used pretty much equally. Usage varies wildly over time, from as little as 15% to as much as 50%.
    Quote Quote  
  2. Member
    Join Date
    Jul 2009
    Location
    Spain
    Search Comp PM
    Avisynth (even the MT version) does not multithread by default - you have to add appropriate commands to tell it to do so. See http://avisynth.org/mediawiki/MT_support_page.

    I see from the script posted in your other thread that you are not doing this, so any multithreading you are getting is coming solely from your encoder, not from Avisynth.

    Try changing your script to this:

    Import("c:\Program Files (x86)\AviSynth 2.5\plugins\DeStripe.avs")
    SetMTMode(5)
    AVISource("file.avi")
    AssumeTFF
    SetMTMode(2)
    ConvertToYV12(interlaced=true)
    QTGMC(preset="Very Slow", sharpness=0.5)
    DeStripe(rad=2, offset=1, thr=16)

    Also see the QTGMC documentation for hints on multithreaded use.
    Quote Quote  
  3. Member
    Join Date
    May 2009
    Location
    United States
    Search Comp PM
    "An exception occurred in module 'KERNELBASE'."

    With your advice in hand, I was able to find a relevant topic and have toyed around with SetMTMode at length. In a nutshell, there is no combination of SetMTMode(5,x) / EdiThreads=y that does not cause the above error in VirtualDub. Not even SetMTMode(5,1). Observation of CPU usage when I attempt to load a video does show that it is being used more fully (with the exception of when I specify fewer than three cores), and at very low settings (lower than even the CPU usage I've gotten without SetMTMode), it will sometimes render the first frame, but anything beyond that causes the crash.

    Edit: No component in my PC is overclocked.
    Quote Quote  
  4. Member
    Join Date
    Jul 2009
    Location
    Spain
    Search Comp PM
    I don't know anything about DeStripe, but it may be that it is incompatible with multithreading, or at least with mode 2 - many filters are. Try taking out DeStripe to see if that is the source of the error.

    If that is the case, it might be made to work if you add SetMTMode(5) before the call to DeStripe (or even try mode 3 or 4).
    Quote Quote  
  5. Member
    Join Date
    May 2009
    Location
    United States
    Search Comp PM
    Good suggestions. Actually I had already tried eliminating everything, and even using QTGMC in every mode besides 2. It's that combination of QTGMC and SetMTMode that just isn't working under any circumstance.
    Quote Quote  
  6. Video Restorer lordsmurf's Avatar
    Join Date
    Jun 2003
    Location
    dFAQ.us/lordsmurf
    Search Comp PM
    Buy more computers, KVM them, and learn to wait.
    That's what the rest of us have to do.
    There's really no way around it. Not everything can use mt or multi cores.
    Want my help? Ask here! (not via PM!)
    FAQs: Best Blank DiscsBest TBCsBest VCRs for captureRestore VHS
    Quote Quote  
  7. Member
    Join Date
    Jul 2009
    Location
    Spain
    Search Comp PM
    While it's true that Avisynth MT can often be a hit-and-miss affair (someone once described it as a 'crap shoot'), many people are successfully multithreading QTGMC.

    One thing to check is that you have the correct versions of all needed plugins - in particular, for your Avisynth version, you need the 2.6-compatible variant of MaskTools, mt_masktools-26.dll, not the '25' variant.

    Also, have you tried experimenting with SetMemoryMax usage (as described in QTGMC doc)?
    Quote Quote  



Similar Threads

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