UI refresh (IOBox labels)

Funny, I was just doing an installation and this happened again, and I said to myself “OK, this has been going on for at least five years, I’m going to finally make a forum post about it” and when I get home here it is. Great minds etc.

So why is this happening? What it is that is unique about vvvv that causes this while no other windows program does this? Is it something in Delphi that vvvv cannot directly deal with?

It is a CONSTANT annoyance, and of course happens when you can least afford it, and seems to increase in likelihood the greater the importance of the person watching or trying to use the patch…

1 Like

This is definitely part of the ancient Delphi core. When I do guess inside the black box, I think there is a part of the node drawing lib, that has partiallly async code gone amok.

It was much better, some versions ago, but it never fully went away. The more you scroll in (big) patches, the more often the glitch occurs. It’s been part of vvvv patching for so long, I guess many hardcore users are like me and don’t even feel the chronic pain anymore. A gallery screenshot every once in a while is the most we do. Mostly for lulz though.

You know, scroll once, glitch, scroll twice, glitch again, but eventually you take the workaround of Ctrl+G and refactor until you don’t need to scroll anymore to see the entire patch.

That said, this is not a friendly thing to happen to new users, or paying customers. But I fear, noone will actually start to fix the Delphi lib, sorry to break it to you.

PS: Good thing vl gui has no dependency like that, All async problems ever are home grown there

I tend to hardly scroll in my patches and pack everything pretty dense I guess … I either experience this without scrolling at all or do seem to still scroll the window a little unconsciously.

“Whole Lotta Scroll”

You need nestin’, baby, I’m not foolin’,
I’m gonna send you back to groupin’,
Way down inside, honey, you need it,
I’m gonna give you my node,
I’m gonna give you my module.

Wanna whole lotta scroll [4x]

You’ve been groupin’, baby, I’ve been freezin’,
All them good times, baby, baby, I’ve been ghostin’,
Way, way down inside, honey, you need it,
I’m gonna give you my node
I’m gonna give you my module.

Wanna whole lotta scroll [4x]

You’ve been savin’, baby, I’ve been reloadin’,
All the good times baby I’ve been codin’,
Way, way down inside, I’m gonna give you my scroll,
I’m gonna give you every stride of my scroll,
Gonna give you my scroll.

Yeah! All right! Let’s go!

Wanna whole lotta scroll [4x]

Way down inside… patch… you need… scrooooooll.

Shake for me, patch.
I wanna be your backdoor man.
Keep it nestin’, baby. [4x]


i laughed out loud

indeed the problem with this is that in countless hours of debugging this over the years i’ve not found anything that causes this or any idea how to prevent it. yes, we could have prioritized this higher and replaced the ui at some point, which we decided against and rather focused on the new thing. at least what i could have definitely done earlier is offer a shortcut to press that redraws the IOBoxes whenever this happened. only now that this was brought up again it occured to me to actually do that. weird. so hereby i humbly give to you: F5 (in latest alphas).

while at it, i found some comment in the code that mentioned an observation that the problem often (but not only) seemed to happen when switching away from vvvv to another program. there was even already code in place that did a redraw whenever vvvv lost focus but apparently that didn’t help much as it was probably in the wrong place. so now what i did in addition to the shortcut, i’m running that same IOBox redraw whenever a patch is activated or vvvv looses focus. i sat here switching to and from vvvv for about an hour after that change and didn’t see the problem again (while i still saw it randomly after some time before this “fix” was applied).

so while this still obviously is not a solution, i hope that it at least eases some of the annoyance. and i kneel here before you, hoping you’ll accept this (too) late attempt by offering my sincere apology:

wholelottascroll.zip (2.5 MB)


hahaha probably the most terrible interpretation of that song i ever heard… sorry guys ;)))
but sooooo cute… lovvvve

lol. what other programming language overlord records songs for his underlings?

Guys! @joreg’s singing!

P.S. Take one… yeah… we all gonna believe that…

Very refreshing

so good, the zip, so good :D

Could it not do a refresh when you stop scrolling, and have an option to disable that hack if it is a performance hog?

This problem happens all the time and always comes up when Im trying to show someone how rad VVVV is. Something I’ve noticed is that 99% of people don’t have the capacity to see past even an aesthetic flaw and this means that they see this and even at a subconscious level they have already rejected the entire platform. I feel blessed I’m in the other 1%, but its a shame to lose all that art and potential $$$ because of something so silly. Agree with @catweasel above, something like that would be awesome.


It should be a flag, with refresh enabled by default.

If you’re prototyping, then ok, performance hog or not, it doesn’t matter too much. You’d save time a lot of time anyway. You’d just have another vvvv instance (with refresh disabled) to test real performance, if you really must.

Else (when you don’t need GUI), you’d just add the flag with the other ones.

If you’re live patching, well, you’re still stuck, so to say.

latest alphas have UI redraw on F5.

I guess that helps those people that have already gotten used to it, to just more quickly deal with this …
It won’t help with what Chris and grey.phoenix pointed out, though.

F5 will also “break” some patches. I know a lot of people/agencies that use F5 as standard for reloading external settings and/or assets.

I’m thinking i’m also using F5 on some patches crap ;]
Ctrl something will be better

would you say this is an observation you made that it often happens actually when you scroll?

@bjoern @antokhio so are you suggesting we should vote for the shortcut? F5 is just the quickest and most obvious i could think of since it conforms with how browsers do a refresh. don’t you think that “breaking” change could be easily “fixed” by those affected?

@joreg Well, its as much as scrolling past a name thats broken will sometimes fix it, othertimes it will leave a long timeslice trail. Scroll as the refresh would work for me, as it doesnt require a shortcut, and its what you do to fix and sometimes cause the issue. Also I use f keys all the time to switch patches, effects, change focus, they’re otherwise useless keys so are the first ones I use to do stuff with.