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. |
![]() |
#22 | Link |
Useful n00b
Join Date: Jul 2014
Posts: 1,667
|
zimg is used in Vapoursynth so we can't blame this on zimg. Is it just the case that Avisynth+ multithreading is terminally deficient? Or is there some heavy penalty for not having the resizing in the core? Or both? If anyone cares about Avisynth+ there will have to be an answer and resolution.
Last edited by videoh; 20th March 2018 at 18:49. |
![]() |
![]() |
![]() |
#25 | Link |
Registered User
Join Date: Jan 2014
Posts: 2,272
|
I was asking you for benchmarks w/o dgsource (e.g. using a BlankClip instead) because Avisynth+ runs source filters in MT_SERIALIZED mode.
I don't know how it works in VapourSynth but that can be a difference, which could be eliminated by omitting source filter. When a source filter would benefit from a specific MT mode, you have to set it for that specific filter manually. It would show then that DgSource with MT_SERIALIZED mode is bottleneck or not. |
![]() |
![]() |
![]() |
#27 | Link |
Registered User
Join Date: Sep 2010
Location: Ukraine, Bohuslav
Posts: 377
|
DGSource is actually handled as source filter inside VS's avisynth wrapper: https://github.com/vapoursynth/vapou...ompat.cpp#L378, so it should not be a bottleneck for tests.
|
![]() |
![]() |
![]() |
#28 | Link |
Useful n00b
Join Date: Jul 2014
Posts: 1,667
|
With BlankClip (specifying 10000 frames at 1000 fps and playing in VirtualDub2, just the format conversions):
Vapoursynth 14 sec Avisynth+ 22 sec The difference is not as large but is still quite significant. So there is a pure penalty in the conversions and another penalty in the handling of the source filter. Setting DGSource MT_NICE_FILTER or MT_MULTI_INSTANCE makes no difference (DGSource is actually thread safe and CUVID supports multiple instances). So why does Vapoursynth apparently not suffer these penalties while Avisynth+ does? I tried a large value in SetMemoryMax() but again it made no difference. Don't get me wrong; I've been a stalwart supporter of Avisynth(+) since year 2000 and have greatly appreciated your efforts along with everyone else. I just want to be able to continue using it in the UHD world. MAGA (Make Avisynth Great Again) Last edited by videoh; 20th March 2018 at 18:23. |
![]() |
![]() |
![]() |
#29 | Link |
Registered User
Join Date: Oct 2002
Location: France
Posts: 2,262
|
Are the speed test results from playing the same avs script in Avs+ and Vapoursynth, or, is it the avs script using z.lib vs Vapoursynth using internal conversion ?
If it's the second case, one possible explaination would be that the conversion is just faster in Vapoursynth than z.lib. You're not alone thinking z.lib conversion is slow, also here.
__________________
My github. |
![]() |
![]() |
![]() |
#30 | Link |
Useful n00b
Join Date: Jul 2014
Posts: 1,667
|
Interesting, thanks for that confirmation.
It's the second case, of course. But avsresize (z.lib) is basically just a wrapper around zimg, and zimg is used by Vapoursynth. The difference I guess is in invoking it in the core versus an external filter. Hopefully pinterf can shed some light on things for us. zimg could be added to the Avisynth+ core. Things take time, it's not a surprise. Last edited by videoh; 20th March 2018 at 18:40. |
![]() |
![]() |
![]() |
#31 | Link | |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,530
|
Quote:
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
|
![]() |
![]() |
![]() |
#36 | Link |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,583
|
you say that just because one filter run faster in vs?! there are another cases that avs is faster like https://github.com/Khanattila/KNLMeansCL/wiki/Benchmark
I think there are something in avsresize dll that case that slowness
__________________
See My Avisynth Stuff |
![]() |
![]() |
![]() |
#39 | Link |
Registered User
Join Date: Sep 2007
Posts: 5,285
|
How about avsmeter diagnostics ? changing prefetch values ? - check memory / cpu usage etc... is "prefetch(8)" the "best" number in that situation ? Personally I like the auto threading of vpy better.
Can you double check some other measurement tools? maybe vspipe to ffmpeg, vs. avs to ffmpeg for example . I'll try to compare some other operations in avs vs. vpy tomorrow for z.lib/zimg , if sekrit-twc / s.savage doesn't post by then Last edited by poisondeathray; 21st March 2018 at 07:04. |
![]() |
![]() |
![]() |
#40 | Link | |
Registered User
Join Date: Jan 2014
Posts: 2,272
|
Quote:
|
|
![]() |
![]() |
![]() |
Thread Tools | Search this Thread |
Display Modes | |
|
|