View Full Version : VirtualDub drops frames when stepping with left/right arrow keys
wonkey_monkey
17th October 2009, 23:14
I'm using an Avisynth filter of my own design which runs a little slowly, and I find that when I hold down the left or right arrow key to step through the video, it won't display every frame - sometimes it won't display any frames until I release the key and it jumps to the new position. If I play the clip, it displays every frame, albeit at a lower than normal framerate (about 15fps for this filter).
If I select a simpler mode for the filter, or drop it altogether, I can step through as normal. Does anyone know why this is happening, and if it can be stopped?
David
CWR03
18th October 2009, 01:06
Try reducing the repeat rate in your keyboard settings. Since with a filter involved the frames are rendered as you step, you may have it advancing faster than it can render and it's just not displaying any new frames until it can complete one.
wonkey_monkey
18th October 2009, 01:31
Thanks for the tip - it works, but it's not really practical for me to keep changing the repeat rate up and down. Plus it means I'll always be stepping slower than I could be, if vdub was working "properly". I'm not sure I see the logic for not displaying a frame, since doing so will hardly take longer than the filter already does (it's running at about 20fps, or about 50ms per frame).
David
poisondeathray
18th October 2009, 17:19
If your filter chain is too cpu heavy, then you need a faster pc, or scrub through at a slower pace
Your observation of reducing/eliminating the filters improves scrubbing suggest this
wonkey_monkey
18th October 2009, 18:43
Fair enough - the filter could use a bit of optimization - but it still seems like buggy (or least, not common sense) behaviour on Virtualdub's part.
David
MatLz
18th October 2009, 20:15
Ask to Avery Lee before complaining about his stable software.
Alpha filter vs Virtualdub.....it's really...sorry I don't find the word.
wonkey_monkey
18th October 2009, 22:53
Woah. I'm not complaining about stability. I just can't understand the logic behind not displaying a frame just because it has taken over a certain time to process. Adding Sleep(100); to a faster (or even null) filter does the same thing.
David
MatLz
18th October 2009, 23:29
Well, it was not to annoy you, it's just a simple fact.
It seems the outdated (people say that, not me ;)) VirtualDubMod has not this "problem", even old crappy NanDub can do that. So with the recent VirtualDub, it's maybe just a story of a simple setting you can change...not a "buggy behaviour of VirtualDub's part".
I'm a common user, very common, with a bad english, so I can't provide you more 'help'. Sorry.
scharfis_brain
19th October 2009, 00:03
if I remember correctly, there is a checkbox called "drop frames when behind" in the options pulldown menu...
Guest
19th October 2009, 01:49
There is a reason for the behavior. When scrubbing on a timeline for editing, you usually want the frame at the destination point of your action to display as quickly as possible. So if you drag the scroll bar and it queues 100 messages before the last one you are positioning to, you want to just display the last one and toss all the intervening messages. If you want to play all frames, use preview.
It's not a bug, it's a feature.
wonkey_monkey
19th October 2009, 14:39
Hmm, this will take some more investigating. Comparing VirtualDub 1.9.6 and VirtualDubMod 1.5.10 (which doesn't exhibit this behaviour, as MatLz pointed out), there seems to be no improvement with UI response while scrubbing through my AVS script (which uses mpegsource on a .d2v file).
But there is an improvement when scrubbing through an Xvid (which has an average keyframe distance of 87). I guess it's something to do with AviSynth output presenting as keyframe-only?
David
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.