View Full Version : TemporalDegrain2, very slow?
gispos
1st August 2020, 23:03
I mostly use MCTD for noise removal, now I have tried TemporalDegrain2 and I find it quite good with some film material.
Only the speed is extremely slow for me. At 1280x720 I get 32 fps with MCTD and GPU = True
With TemporalDergrain2 I get 6.5 fps. Is this normal or do I not have the right dll's or functions?
sonic41592
3rd August 2020, 16:44
Yeah, that seems about right. It really depends on how fast your CPU is, if you have multithreading enabled, and if you're using x64 or x86. It does such a good job though, I feel it's well worth the extra time, especially if you use LSFMod or a similar sharpener afterwards.
gispos
3rd August 2020, 19:50
Ok, so it's slower than MCTD, I thought I didn't have the right 'ingredients'.
magnetite
4th August 2020, 07:20
You can also tweak the settings. Like the block size for MAnalyse. Smaller block sizes give better results at the cost of speed. I didn't notice much of a difference visually between 8 and 16 for MAnalyse, but 16 was twice as fast. I have turned off any FFT post-processing in mine. Not sure if TemporalDegrain2 uses the newer neo_fft3d or the older FFT3DFilter.
gispos
4th August 2020, 20:53
You can also tweak the settings. Like the block size for MAnalyse. Smaller block sizes give better results at the cost of speed. I didn't notice much of a difference visually between 8 and 16 for MAnalyse, but 16 was twice as fast. I have turned off any FFT post-processing in mine. Not sure if TemporalDegrain2 uses the newer neo_fft3d or the older FFT3DFilter.
Thanks for the information. Will test it.
N.ROM.anova
23rd March 2022, 01:33
I’m having a similar issue with my AviSynth script progressively slowing down to a barely functional crawl. The issue appears to be caused by how much CPU is being used by TemporalDegrain2, and I’m assuming how much data is filling up the memory as it runs. When processing, 35-40% of CPU is being used while only about 1-2% of both GPU cards in my machine are utilized. I would like to have the GPU handle more of the processing, but instructions on how to do so are not clear. My technical comprehension is intermediate at best.
MY COMPUTER SPECS
MODEL: ASUS GL753V
OPERATING SYSTEM:
Windows 10 Home, version 21H1
System Type: 64-bit operating system, x64-based processor
MEMORY:
Available: 24.1
Speed: 2400 MHz
Slots Used: 2 of 4
Form Factor: SODIMN
Hardware Reserved: 11MB
CPU - Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz 2.81 GHz
Cores: 4
Logical Processors: 8
Installed RAM: 32GB
GPU 0 - Intel(R) HD Graphics 630
Dedicated GPU: None listed
Shared GPU Memory: 15.9 GB
DirectX Version: 12(FL 12.1)
Physical Location: PCI bus 0, device 2, function 0
GPU 1 - NVIDIA GeForce GTX 1050 Ti
Dedicated GPU Memory: 4GB
Shared GPU Memory: 15.9 GB
Physical Location: PCI bus 1, device 0, function 0
MY SCRIPT
SetFilterMTMode("TemporalDegrain2", MT_MULTI_INSTANCE)
SetFilterMTMode("aWarpSharp", MT_MULTI_INSTANCE)
FFmpegSource2("clip_01.mkv")
Crop(240, 0, -240, 0) /* Adjust per clip - LTRB */
TemporalDegrain2(degrainTR=1, postFFT=4, postSigma=3.25, extraSharp=true)
aWarpSharp(depth=4.0, blurlevel=0)
Prefetch(6)
My understanding of Prefetch is that the number listed is the number of threads it can handle based on the CPU cores the computer has. I have a 4 Core CPU, which means it can handle 8 threads simultaneously in total, is that right? I figured using 6 would leave some threads freed up for the computer to run system stuff in the background.
FFMPEG RUN COMMAND
ffmpeg -i "SCRIPT - Denoising and Sharpening.avs" -pix_fmt rgba "SC_HGBD/%05d.tif"
FOOTAGE DETAILS
The clips I am trying to process are 1920x1080p, losslessly ripped from Blu-Ray to MKV. The clips range in length from 1 minute to 8 minutes, with sizes from 270MB to 1.05 GB.
THE ISSUES I’M EXPERIENCING
The Frame Rate starts at 6.5 FPS, but then begins to drop after it hits about 100 processed frames. The fps decreases by .1 for every 20 frames processed over 100. On a 1 minute and under clip, the fps will eventually stop decreasing at about 2.1. fps. On a longer clip it will go down to as low as .3 fps. As this happens the entire computer slows down, regardless of whether I am running other programs (which I’m not) while processing a clip.
The Command line window also slows down, and the counters for the time elapsed and frames processed become completely out of sync with how much time has actually passed and how many frames have been processed. When this happens, command line becomes almost unresponsive to pressing the Q or ESC keys as well as clicking the close program button.
Removing the aWarpSharp command doesn’t have any noticeable effect on the performance speed or CPU usage. I understand that TemporalDegrain2 is processor heavy and runs slowly, and that exporting frames to TIF is also a CPU & Memory-intensive process – especially when dealing with 1080p footage. 6 fps appears to be the normal average for TemporalDegrain2, and I’m fine with that. But it does this even if I try to encode the video at a higher compression, instead of exporting frames. I do not have this issue when using just FFMPEG to do things like de-interlacing, video encoding, frame exports, etc. And I’m able to edit and encode 1080p video in PremierePro while running Photoshop and other processor/Memory heavy programs without any noticeable slowdown.
Based on what I’ve read, the severe slowdown and amount of drain on the system I’m experiencing is not normal, but I’m not sure what needs to be added to/adjusted in the script to balance its CPU and GPU usage so the FPS conversion rate remains stable and performance improves.
What am I doing wrong?
kedautinh12
23rd March 2022, 01:52
You can try from 1 to 8 for find best value reach highest speed. My CPU 6 cores 12 threads but when use with TemporalDegrain2, the value reach highest speed is prefetch(4)
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.