Topic: SVP Memory Usage Restart

SVP keeps complaining about how much memory it is using and uses some script to restart. This is becoming very annoying. How can one disable/increase this limit?

http://img502.imageshack.us/img502/8215/svprage.jpg

Re: SVP Memory Usage Restart

Hello, dkmann1987
1. You can increase limit by hidden setting "ReloadAVSFactor" in SVPMgr menu (at Expert interface) - Show - Hidden settings. Change, save, reload SVPMgr.
2. You can disable memory growth detection. The same setting must be change to 0.
3. You can check and patch if your player can not use 4GB (3GB in 32bit OS) of memory.

Can you show SVP profile setting window?
I am wonder why you can exceed default memory limit.

3 (edited by dkmann1987 13-10-2011 07:32:21)

Re: SVP Memory Usage Restart

I'm sure something isn't correct somewhere else. I've just began playing with this as of today.

http://img717.imageshack.us/img717/1187/unledrlt.th.jpg

I'm also curious why more GPU power isn't used. I've got a 5870 and usage tops out at around 30%.

Re: SVP Memory Usage Restart

dkmann1987
Are you nuts? big_smile
It is very excessive settings values.
qpel + recalculate + overlapping = unnecessary CPU load without any quality improvements.

advises:
1. 32x32 + recalculate = 16x16 with no recalulation. The (just) same quality without extra CPU load.
2. qpel is unneeded here - use hpel.

Re: SVP Memory Usage Restart

I can't seem to get rid of this "ripple" effect. A prime example would be in District 9. Their are numerous scenes that have the MNU watermark in them, as well as wording on the screen, and these become very distorted. A lot of the picture also ripples off of the picture into the black bars on top and bottom of the video. What settings would you recommend for fixing that on a powerful machine? i7 @ 4.2GHz w/ an HD5870 @ 1GHz

I could kiss you guys for creating this project. lulz big_smile

Re: SVP Memory Usage Restart

dkmann1987
"ripple" effect is artifact of SVP-shaders 1, 2, 21, 23. You can switch to another SVP-shader to reduce "ripple" effect.
I recommend to use 13-th SVP-shader with no bad areas artifacts supression.

I could kiss you guys for creating this project
You can help us to develop better version. smile
http://www.svp-team.com/wiki/Donation/

7 (edited by mark007 25-02-2012 16:57:45)

Re: SVP Memory Usage Restart

with svp_scheduler=true I can see mpc-hc's memory usage in process explorer skyrocket really quickly, making this popup appear every minute or so.

With svp_scheduler=false, the mpc-hc memory usage both starts lower, and stays flat so perhaps theres something wrong with svp_scheduler=true MAG?

Actually, using SetMTMode(1,16) and svp_scheduler=true shows a huge memory increase every few seconds.

Using SetMTMode(1,8) svp_scheduler=true seems to start off much lower and stay flat also smile I assume (1,8) is a good setting for my cpu then, core i7 920? Should (1,16) cause this huge memory rise though, I assume thats still wrong?

EDIT: svp_scheduler=false and SetMTMode(1,16) still gives me way less frame drops.

Re: SVP Memory Usage Restart

mark007
with svp_scheduler=true I can see mpc-hc's memory usage in process explorer skyrocket really quickly, making this popup appear every minute or so.

With svp_scheduler=false, the mpc-hc memory usage both starts lower, and stays flat so perhaps theres something wrong with svp_scheduler=true MAG?

Please post here "Performance graphs" window screen shots with and without "svp_scheduler" enabled.

Re: SVP Memory Usage Restart

With it enabled (the popup about memory usage appeared after about 1.5 minutes, see it at the end of the graph.
http://img638.imageshack.us/img638/2549/witht.png


Without it enabled
http://img252.imageshack.us/img252/1708/without.png

Re: SVP Memory Usage Restart

mark007

i know my English is bad but it's sad that it's bad so much

I meant "one picture with svp_scheduler=true" (which is by default) and "one picture with svp_scheduler=false".

I know that without video playback it'll always be zero values.

11 (edited by mark007 26-02-2012 17:13:17)

Re: SVP Memory Usage Restart

Yes the first picture is with svp_scheduler=true and the second is with svp_scheduler=false

svp_scheduler=false seems to be default for me, as if I comment out that line of code in my avisynth script, I get the same flat memory graph as explicitly using svp_scheduler=false

In summary

svp_scheduler=true # Memory graph increases rapidly
svp_scheduler=false # Memory graph remains flat
#svp_scheduler=true (commented out) # Memory graph remains flat

Im on a core i7 920, 6GB RAM, 32bit mpc-hc, Windows 7 64bit, Nvidia GTX 295 with 295.73 drivers

Re: SVP Memory Usage Restart

mark007
the second is with svp_scheduler=false
I cant' see any numbers on this picture winkmark007

core i7 920
Is "Number of threads" set to default value?

Re: SVP Memory Usage Restart

np, heres with svp_scheduler=false, with numbers on the graph. The memory usage doesn't grow.

http://img141.imageshack.us/img141/6241/falsej.png

Number of threads is set as 16, as someone suggested to use a higher value like that when using libflowgpu.dll Should I use less or 0 to allow auto choosing?

Re: SVP Memory Usage Restart

mark007
Could you post here the contents of "Last launch log" and "AVS-script from last play" text files when you experienced the situation like on that picture?

Re: SVP Memory Usage Restart

No problem.

Last Launch Log

21:45:29.025 (SVPmgr) - Start: SVPMgr starts...
21:45:29.025 (SVPmgr) - Start: read settings file settings.ini
21:45:29.027 (SVPmgr) - Start: load language file - English. Duration: 11 ms
21:45:29.038 (SVPmgr) - Start: clear Logs folder. Duration: 1 ms
21:45:29.039 (SVPmgr) - Start: SVPMgr folders prepare. Duration: 3 ms
21:45:29.042 (SVPmgr) - Start: performance graphs prepare
21:45:29.042 (SVPmgr) - Start: read settings file SVPMgr.ini. Duration: 1 ms
21:45:29.043 (SVPmgr) - Start: monitors settings detection. Duration: 1078 ms
21:45:30.121 (SVPmgr) - Start: disable LNG-file write when UAC enabled
21:45:30.121 (SVPmgr) - Start: change SVP-manager priority
21:45:30.121 (SVPmgr) - Start: register hotkeys. Duration: 2 ms
21:45:30.123 (SVPmgr) - Start: check launched instance of SVP-manager
21:45:30.123 (SVPmgr) - Start: check Avisynth installed. Duration: 1 ms
21:45:30.124 (SVPmgr) - Start: refresh autostart state in registry. Duration: 1 ms
21:45:30.125 (SVPmgr) - Start: some more work with registry. Duration: 1 ms
21:45:30.126 (SVPmgr) - Start: create menu. Duration: 24 ms
21:45:30.150 (SVPmgr) - Start: update settings file settings.ini. Duration: 21 ms
21:45:30.171 (SVPmgr) - Start: update monitor settings
21:45:30.171 (SVPmgr) - Start: get versions of modules used. Duration: 24 ms
21:45:30.195 (SVPmgr) - Start: prepare "About the program" window. Duration: 4 ms
21:45:30.199 (SVPmgr) - Start: enable ffdShow waiting mode. Duration: 1 ms
21:45:30.200 (SVPmgr) - RefreshSVP begin. Duration: 1 ms
21:45:30.201 (SVPmgr) - RefreshSVP end: Waiting for ffdshow video...
21:45:30.201 (SVPmgr) - Start: prepare to work is complete. Duration: 5220 ms
21:45:35.421 (SVPmgr) - T1T: preparing
21:45:35.423 (SVPmgr) - T1T: begin. Duration: 1 ms
21:45:35.424 (SVPmgr) - T1T: GetAllMediaParams
21:45:35.424 (SVPmgr) - T1T: SettingsPrepare. Duration: 3 ms
21:45:35.427 (SVPmgr) - T1T: Configure a smooth playback .... Duration: 1 ms
21:45:35.428 (SVPmgr) - T1T: WriteAllMediaParamsToIni. Duration: 1 ms
21:45:35.429 (SVPmgr) - application launch...
command: C:\Program Files (x86)\SVP\SVPMgr
parameters: main "C:\Users\Tester\AppData\Roaming\SVP\" 1920 1080 23.976 1920 1080 25 12
write to log: True. Duration: 52 ms
21:45:35.481 (SVPmgr) - T1T: SVPMgr main. Duration: 17 ms
21:45:35.498 (SVPmgr) - T1T: Smooth playback ...
21:45:35.498 (SVPmgr) - SetPriorityPlayer: 2
21:46:04.805 (SVPmgr) - RefreshSVP begin. Duration: 1 ms
21:46:04.806 (SVPmgr) - RefreshSVP end: Waiting for ffdshow video...

AVS Script from last play is

Import("G:\MovieStarter\avisynth\InterFrame.avsi")

Which contains the following.

#------------------------------------------------------------------------------#
#                                                                              #
#                         InterFrame 1.12.1 by SubJunk                         #
#                                                                              #
#     A frame interpolation script that primarily uses MVTools2 for making     #
#        accurate estimations about the content of non-existent frames         #
#      Its main use is to give videos higher framerates like newer TVs do      #
#------------------------------------------------------------------------------#


# For instructions and further information see the included InterFrame.html
# For news go to spirton.com
    realpal=true
    FlowPath="C:\Program Files (x86)\AviSynth 2.5\plugins\"
    GPU=true
    NewNum=50
    NewDen=1
    Tuning="Film"
    
    svp_scheduler=true
    Setmemorymax(1024)
    svp_cache_reduce=true
    SetMTMode(1,16)
    Input = ffdshow_source()
    SetMTMode(2)

    (Input.Framerate == 25 && realpal == true) ? Eval("""
        Preset="Medium"
    """)  : (Input.Framerate >29 && Input.Framerate <= 30) ? Eval("""
        Preset="Medium"
    """)  : (Input.Height <= 720) ? Eval ("""
        Preset="Medium"
    """) : Eval("""
        Preset="Mark"
    """)
    
    # Create processed clip for slower presets
    Preset == "Mark" || Preset == "Placebo" || Preset == "Medium" || Preset == "Fast" || Preset == "Faster" ? Eval("""
        ProcessedSource = Input.RemoveGrain(mode=17)
    """) : Eval("""
        # Don't want ProcessedSource
    """)

    # Set variables controlled by Tuning
    BlockSize = (Tuning == "Film" || Tuning == "Animation") ? 16 : \
       (Tuning == "Weak") ? 32 : 16
    Overlap1 = (Tuning == "Animation") ? 0 : 4
    Overlap2 = (Tuning == "Animation") ? 0 : 2
    Algo = (Tuning == "Smooth") ? 23 : 13
    SadML = (Tuning == "Smooth") ? 150 : 0

    # Create super clip/s
    SuperRegular = MSuper(Input, hpad=BlockSize, vpad=BlockSize, rfilter=4)

    Preset == "Placebo" ? Eval("""
        CustomLuma   = EEDI2(Input, field=1).Spline36Resize(2*width(Input), 2*height(Input), src_left=0.25             )
        CustomChroma = EEDI2(Input, field=1).Spline36Resize(2*width(Input), 2*height(Input), src_left=0.5 , src_top=0.5)

        CustomPelClip = MergeChroma(CustomLuma, CustomChroma, 1)

        Super = MSuper(ProcessedSource, hpad=BlockSize, vpad=BlockSize, rfilter=4, pelclip=CustomPelClip)
    """) : Preset == "Medium" ? Eval("""
        Super = MSuper(ProcessedSource, hpad=BlockSize, vpad=BlockSize, rfilter=4)
    """) : Preset == "Mark" ? Eval("""
        Super = MSuper(ProcessedSource, hpad=BlockSize, vpad=BlockSize, rfilter=4)
    """) : Eval("""
        Super = MSuper(Input, hpad=BlockSize, vpad=BlockSize, rfilter=4)
    """)

    # Make interpolation vector clip
    Preset == "Ultra Fast" ? Eval("""
        backward = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=true , chroma=false, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600)
        forward  = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=false, chroma=false, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600)
    """) : Preset == "Super Fast" ? Eval("""
        backward = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=true , overlap=Overlap1, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600)
        forward  = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=false, overlap=Overlap1, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600)
    """) : Preset == "Very Fast" ? Eval("""
        backward = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=true , overlap=Overlap1, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600)
        forward  = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=false, overlap=Overlap1, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600)
        backward = MRecalculate(Super, backward, blksize=8, overlap=Overlap2)
        forward  = MRecalculate(Super, forward,  blksize=8, overlap=Overlap2)
    """) : Preset == "Faster" ? Eval("""
        backward = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=true , overlap=Overlap1, search=3, pelsearch=3, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600)
        forward  = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=false, overlap=Overlap1, search=3, pelsearch=3, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600)
        backward = MRecalculate(Super, backward, blksize=8, overlap=Overlap2, search=3)
        forward  = MRecalculate(Super, forward,  blksize=8, overlap=Overlap2, search=3)
    """) : Preset == "Fast" ? Eval("""
        backward = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=true , overlap=Overlap1, search=3, pelsearch=3, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600)
        forward  = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=false, overlap=Overlap1, search=3, pelsearch=3, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600)
        backward = MRecalculate(Super, backward, blksize=8, overlap=Overlap2, search=3)
        forward  = MRecalculate(Super, forward,  blksize=8, overlap=Overlap2, search=3)
    """) : Preset == "Medium" ? Eval("""
        backward = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=true , overlap=Overlap1, search=3, pelsearch=3, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600, dct=5)
        forward  = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=false, overlap=Overlap1, search=3, pelsearch=3, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600, dct=5)
        backward = MRecalculate(Super, backward, blksize=8, overlap=Overlap2, search=3, dct=5)
        forward  = MRecalculate(Super, forward,  blksize=8, overlap=Overlap2, search=3, dct=5)
    """) : Preset == "Mark" ? Eval("""
        backward = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=true, search=3, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600,dct=5,searchparam=1)
        forward  = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=false, search=3, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600,dct=5,searchparam=1)
        backward = MRecalculate(Super, backward, blksize=8, search=3,searchparam=1)
        forward  = MRecalculate(Super, forward,  blksize=8, search=3,searchparam=1)    
    """) : Eval("""
        backward = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=true , overlap=Overlap1, search=3, pelsearch=3, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600, dct=5)
        forward  = MAnalyse(Super, blksize=BlockSize, plevel=0, isb=false, overlap=Overlap1, search=3, pelsearch=3, lambda=1000 * BlockSize * Blocksize / 128, lsad=1600, dct=5)
        backward = MRecalculate(Super, backward, blksize=8, overlap=Overlap2, search=3, dct=5)
        forward  = MRecalculate(Super, forward,  blksize=8, overlap=Overlap2, search=3, dct=5)

    """)

    # Determine new framerate
    NewNum != 0 ? Eval("""
        # Use user values
    """) : Input.Framerate == 25 ? Eval("""
        NewNum = 50
        NewDen = 1
    """) : Input.Framerate == 30 ? Eval("""
        NewNum = 60
        NewDen = 1
    """) : Eval("""
        NewNum = 60000
        NewDen = 1001
    """)

    # See whether to use GPU-acceleration or not
    svp_flow_lib = GPU == true ? FlowPath+"libflowgpu.dll" : FlowPath+"libflowsse.dll"
    Finest = GPU == true ? SuperRegular : MFinest(Input, SuperRegular)

    (Input.Framerate == 50 && realpal == false) ? Eval("""
MSmoothFps(Input, SuperRegular, backward, forward, finest=Finest, num=5208333, den=100000, algo=Algo, ml=0, sadml=SadML, sadgamma=2, block=false, blend=true)

    """)  : (Input.Framerate == 25 && realpal == true) ? Eval("""
MSmoothFps(Input, SuperRegular, backward, forward, finest=Finest, num=2*Input.FramerateNumerator(), den=Input.FramerateDenominator(), algo=Algo, ml=0, sadml=SadML, sadgamma=2, block=false, blend=true)

    """)  : (Input.Framerate <= 29) ? Eval("""
MSmoothFps(Input, SuperRegular, backward, forward, finest=Finest, num=NewNum, den=NewDen, algo=Algo, ml=0, sadml=SadML, sadgamma=2, block=false, blend=true)

    """)  : (Input.Framerate >29 && Input.Framerate <= 30) ? Eval("""
MSmoothFps(Input, SuperRegular, backward, forward, finest=Finest, num=2*Input.FramerateNumerator(), den=Input.FramerateDenominator(), algo=Algo, ml=0, sadml=SadML, sadgamma=2, block=false, blend=true)

    """) : Eval ("""
MSmoothFps(Input, SuperRegular, backward, forward, finest=Finest, num=Input.FramerateNumerator(), den=Input.FramerateDenominator(), algo=Algo, ml=0, sadml=SadML, sadgamma=2, block=false, blend=true)

    """)
SetMTMode(1)
GetMTMode(false) > 0 ? distributor() : last

Re: SVP Memory Usage Restart

mark007
InterFrame.avsi

Oh I've almost forgot  big_smile
So lets start with if you'll see the same issue with standard SVP script ?

17 (edited by mark007 27-02-2012 19:16:07)

Re: SVP Memory Usage Restart

When I use standard SVP to manage the script, I don't see the memory increase. I honestly don't know what part of interframe script that causes the memory jump versus SVP with svp_scheduler=true

Are you able to reproduce the memory growth on you're end with my avisynth script and svp_scheduler=true?

EDIT: Using 9 threads and svp_scheduler=true doesn't show the big memory increase. Using 15 / 16 does so although I probably shouldn't be using 15 / 16, I guess it still shouldn't eat more and more memory?

EDIT 2: I do find using 9 threads on my machine isn't enough. I can repeatedly reproduce hundreds / thousands of frame drops with 9 threads versus 10 in some scenes.. Why is 9 recommended for core i7. At least for me, 10 is needed.

Re: SVP Memory Usage Restart

mark007
Are you able to reproduce the memory growth on you're end with my avisynth script and svp_scheduler=true?

This's not the most important task now, I'll take a look later, after 3.1 release wink

But you may do some experiments on your own with the script and simple console tool called "avs2avi". This will exclude player, renderer and all that stuff leaving only decoder and avisynth processing.

Re: SVP Memory Usage Restart

Perfect will do,

In summary, I tried the following number of threads with my core i7 and have the following findings.

9 = too slow, hundreds of frame drops in busy scenes, memory graph stays flat
10 = no frame drops, cpu seems to get used more, memory graph stays flat
11 = memory increases until svp popup
12 = memory increases until svp popup

Looking forward to 3.1 big_smile