Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Development

Reply
 
Thread Tools Search this Thread Display Modes
Old 9th June 2010, 20:02   #21  |  Link
Gavino
Avisynth language lover
 
Join Date: Dec 2007
Location: Spain
Posts: 3,431
Quote:
Originally Posted by CruNcher View Post
Interesting it seem combining SetMtMode(2) + .ThreadRequest for only the heaviest parts (tried with filter like yadif and unblock) seems to be faster then to use .ThreadRequest in every line alone
for example this was more efficient

SetMTMode(2)
directshowsource("E:\test.ts", audio=false)
Yadif(mode=0,order=1).ThreadRequest()
...
Be careful about drawing general conclusions from a very simple script. It's no surprise that SetMTMode will give almost 100% CPU usage here, since by default it creates a thread for each processor and the script has a simple temporal behaviour. I suspect you would see similar performance with just SetMTMode alone, without ThreadRequest. Did you try that?

On a separate but related note, I have some thoughts on the relative usefulness of ThreadRequest v SetMTMode, based on the different ways they work...

Each instance of ThreadRequest effectively divides the filter chain (or in the general case, a branch of the filter graph) into two parts - the part above it is run in a different thread, in parallel with the part below, which it feeds in a pipeline-like manner. Therefore, it will be most effective when these two parts are doing equal work; otherwise the slower thread will spend time waiting for the faster one.

Similarly, in a chain of filters and ThreadRequests, each section of the chain should be balanced. Therefore, if you have n processors, you want to divide the filter chain into n parts, each of which takes roughly the same amount of time, and apply ThreadRequest to each part. Simply adding ThreadRequest on each line is unlikely to be the optimum strategy.

By contrast, both SetMTMode and MT() automatically provide this 'load balancing' as they divide the frames either temporally (SetMTMode) or spatially (MT) to give equal work to each thread. This makes them IMHO much simpler to use effectively.
Gavino is offline   Reply With Quote
Old 13th June 2010, 01:18   #22  |  Link
Frank K Abbott
Registered User
 
Join Date: Mar 2010
Posts: 69
What is the correct usage of threadrequest in order to have some assurance that it won't crash on the 2000'th or 3000'th frame?
Frank K Abbott is offline   Reply With Quote
Old 13th June 2010, 17:32   #23  |  Link
dansrfe
Registered User
 
Join Date: Jan 2009
Posts: 1,210
Ok so I tried running this in my script on a few lines and I get peculiar results.

Total frames: 210,439

~120,000 the script runes at 2x then without ThreadRequest()

after ~120,000 frames the script starts running at 1/3 fps then the normal script and it becomes unbearablly slow with the same amount of cpu usage and memory usage.

I have a feeling this might have to do with me not using synchronize mainly because I don't know how to use it effectively I guess.
dansrfe is offline   Reply With Quote
Old 25th December 2010, 00:36   #24  |  Link
dansrfe
Registered User
 
Join Date: Jan 2009
Posts: 1,210
Can some kind and generous person please look at the source code for this plugin and explain how it works and possibly improve it? This plugin EXTREMELY increases my on-the-fly ffdshow/AviSynth speed with filters that usually just barely make the cut on my cpu an stutter a little bit. I really, truly think this filter has some potential and it runs fairly stable with certain types of filters on-the-fly and possibly for encoding.
dansrfe is offline   Reply With Quote
Old 17th January 2013, 18:32   #25  |  Link
Overdrive80
Anime addict
 
Overdrive80's Avatar
 
Join Date: Feb 2009
Location: Spain
Posts: 673
Do you get this filter more efficiency than MT????
__________________
Intel i7-6700K + Noctua NH-D15 + Z170A XPower G. Titanium + Kingston HyperX Savage DDR4 2x8GB + Radeon RX580 8GB DDR5 + ADATA SX8200 Pro 1 TB + Antec EDG750 80 Plus Gold Mod + Corsair 780T Graphite
Overdrive80 is offline   Reply With Quote
Old 7th February 2015, 06:41   #26  |  Link
Sparktank
47.952fps@71.928Hz
 
Sparktank's Avatar
 
Join Date: Mar 2011
Posts: 940
Since the original link(s) don't work, and the site is down, and I can't really find an archive of the site, I uploaded the original (last version) with the source included.

original + source
http://www.mediafire.com/download/4x...quest_102a.rar

In case anyone wants to take a stab at updating (for anything) or just for archival purposes.
__________________
Win10 (x64) build 19041
NVIDIA GeForce GTX 1060 3GB (GP106) 3071MB/GDDR5 | (r435_95-4)
NTSC | DVD: R1 | BD: A
AMD Ryzen 5 2600 @3.4GHz (6c/12th, I'm on AVX2 now!)
Sparktank is offline   Reply With Quote
Old 7th February 2015, 13:32   #27  |  Link
Reel.Deel
Registered User
 
Join Date: Mar 2012
Location: Texas
Posts: 1,664
Thanks Sparktank. Archive.org has the author's page archived but not the downloads.

https://web.archive.org/web/20130124...avisynth.shtml
Reel.Deel is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 13:24.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.