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?
You are not logged in. Please login or register.
SmoothVideo Project → Using SVP → 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?
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.
dkmann1987
Are you nuts?
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.
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
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.
http://www.svp-team.com/wiki/Donation/
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 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.
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.
mark007
I meant "one picture with svp_scheduler=true" (which is by default) and "one picture with svp_scheduler=false".
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
mark007
the second is with svp_scheduler=false
I cant' see any numbers on this picture mark007
core i7 920
Is "Number of threads" set to default value?
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?
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
mark007
InterFrame.avsi
Oh I've almost forgot
So lets start with if you'll see the same issue with standard SVP script ?
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.
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
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.
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
SmoothVideo Project → Using SVP → SVP Memory Usage Restart
Powered by PunBB, supported by Informer Technologies, Inc.