Hi all,
I've been increasingly annoyed by:
"[ 1736518 ] [switch~]ing [vline~] causes ever increasing CPU usage"
https://sourceforge.net/tracker/index.php?func=detail&aid=1736518&gr...
So I tried to fix it, by pruning expired segments from the start of the queue when segments are added, instead of waiting for the perform method to do it (which only happens when DSP is active).
I probably made some errors, most likely in the munging of the internal state - would appreciate testing, particularly any deviations in comparison to vline~.
I'm also not sure about the timefudge - it's set to 1000ms which aims to be higher than the block size, if the block size is huge then uline~ might incorrectly expire some messages sent when DSP is off. I'm not sure what vline~ does when you change the block size, I'm guessing all bets are off?
Tarball is here:
https://devel.goto10.org/dl.php?repname=maximus&path=%2Fuline_tilde%2F&a...
or:
svn co https://devel.goto10.org/svn/maximus/uline_tilde uline_tilde
When sufficient testing shows there are no remaining bugs, I'll file a patch against d_ctl.c on the tracker.
Thanks,
Claude