"Vsync" for DMX512?

As stated in an earlier post, the maximum theoretical rate of DMX is around 829 Hz for a single byte packet but I doubt any consoles send at that rate. I would bet money that smoothing is implemented from the the last value received, totally asynchronous to whatever the console is doing, so if a packet gets garbled, or lost, or never arrives it makes no difference to the fixture.
 
You can see this effect with a single light. It appears as sudden big level jumps in what should otherwise be a series of smaller ones.

Maybe I'll have to experiment more. I am far from the level of expert many are on this board, but I have had an opportunity to use some variety of LED instruments from $30 e-Bay LED PARs to $1k Philips Selecon LED Lekos to $5 LED strips being driven by a $10 DMX Decoder/drive. I often see lights with inconsistent DMX step size to brightness variations, but I've never noticed a difference in step sizes based on time like you've described. Have you seen this effect with a variety of LED instruments?
 
In fact, IIRC, I must send my frames a lot more often than that if I am only sending a small number of channels, as long delays can be interpreted by the receivers as streaming having stopped entirely (in which case everything goes out).

Although not required, most instruments I've seen "Hold Last" upon loss of DMX telemetry, so I would not expect an instrument to go out if the frames stop. (we disconnect the DMX bus all the time to re-boot the computer, etc. and the all of light systems I've seen show no interruption - of course, I realize that this may not be universal).
 
Maybe I'll have to experiment more. I am far from the level of expert many are on this board, but I have had an opportunity to use some variety of LED instruments from $30 e-Bay LED PARs to $1k Philips Selecon LED Lekos to $5 LED strips being driven by a $10 DMX Decoder/drive. I often see lights with inconsistent DMX step size to brightness variations, but I've never noticed a difference in step sizes based on time like you've described. Have you seen this effect with a variety of LED instruments?
I've seen it with two, this one by Coidak, and this one by ADJ. Owing to the Coidak's much inferior low-end curve, it is more pronounced on that instrument than on the ADJ. If my guesses are correct (and they may all be hogwash, as I am no kind of expert on theatrical lights at all), you wouldn't be likely to see this if you are using a commercial controller. I'm using some open-source software that, from my review of the code, does nothing to synchronize its interpolation loop and its DMX transmission loop. (Sorry if I seem coy about naming it. It's a pretty good program in many other ways, and I don't want to disparage anyone else's hard work. FWIW, it also shows up in a very simple dimming program I wrote myself, which also does nothing to synchronize those two loops.)

Note that simultaneity of changes on two instruments would not be affected by this phenomenon. Assuming that all interpolated levels are computed for the same moment in time, levels that should match on two different instruments would still be computed to match at that moment. Likewise, both computed levels would be transmitted in the same DMX frame, with no more latency between them than would be introduced by the time the DMX spec imposed between the transmission of those levels to their appropriate channels. To the extent that one level was transmitted visibly after the moment for which it was computed, so would all other levels in that frame be transmitted after the moments for which they were computed, by the same interval (plus the additional latency introduced by the DMX spec, which is not part of this phenomenon). The issue only arises when, due to a lack of synchronization, levels are computed for a given moment in time, are subsequently transmitted at a later moment in time, and the interval between computation and transmission is not constant.
 
I've seen it with two, this one by Coidak, and this one by ADJ. Owing to the Coidak's much inferior low-end curve, it is more pronounced on that instrument than on the ADJ. If my guesses are correct (and they may all be hogwash, as I am no kind of expert on theatrical lights at all), you wouldn't be likely to see this if you are using a commercial controller. I'm using some open-source software that, from my review of the code, does nothing to synchronize its interpolation loop and its DMX transmission loop. (Sorry if I seem coy about naming it. It's a pretty good program in many other ways, and I don't want to disparage anyone else's hard work. FWIW, it also shows up in a very simple dimming program I wrote myself, which also does nothing to synchronize those two loops.)

Note that simultaneity of changes on two instruments would not be affected by this phenomenon. Assuming that all interpolated levels are computed for the same moment in time, levels that should match on two different instruments would still be computed to match at that moment. Likewise, both computed levels would be transmitted in the same DMX frame, with no more latency between them than would be introduced by the time the DMX spec imposed between the transmission of those levels to their appropriate channels. To the extent that one level was transmitted visibly after the moment for which it was computed, so would all other levels in that frame be transmitted after the moments for which they were computed, by the same interval (plus the additional latency introduced by the DMX spec, which is not part of this phenomenon). The issue only arises when, due to a lack of synchronization, levels are computed for a given moment in time, are subsequently transmitted at a later moment in time, and the interval between computation and transmission is not constant.

Interesting. The ADJ is a sufficient level that I would expect better behavior out of it.
Have you tried different software (there are many free options) to confirm your suspicions that it is the software? What DMX hardware controller are you using?
 
Although not required, most instruments I've seen "Hold Last" upon loss of DMX telemetry, so I would not expect an instrument to go out if the frames stop. (we disconnect the DMX bus all the time to re-boot the computer, etc. and the all of light systems I've seen show no interruption - of course, I realize that this may not be universal).
Gosh, I wish our gear worked that way! We just closed "Man of La Mancha" at a local middle school. As the curtain opened on the last act, it somehow snagged a very loose power jack on a DMX splitter, so all of the DMX instruments downstream of the splitter went black. Owing to the fact that we had some lights up on trees in the house, running on a completely independent system, we still had enough illumination to continue the show while two hands scrambled like Tasmanian Devils to find the cord and plug it back in. Would have been a "Freeze!" moment without them.

So far, all of the gear I've used behaves this way. But, maybe there's some setting at the rack that would implement the "hold last" option. That's worth looking into, as it would certainly be safer than the way things have been going. (Of course, to use such a setting, I'll have to get the guy with the key to the rack to open it for me, then negotiate with him about being allowed to change a setting on A Very Mysterious Piece of Equipment, which can be a challenge. That's a subject for another thread, however.)
 
Last edited:
Interesting. The ADJ is a sufficient level that I would expect better behavior out of it.

Oh, I'm not blaming ADJ (or even Coidak) for this! The effect of those two loops being unsynchronized would still be visible if the curves on the instruments were drawn by the Almighty Himself. In fact, it would still be visible if the levels were infinitely finely grained, and not just set to discrete eight-bit values. It has everything to do with two unsynchronized loops computing and transmitting values at discrete times with varying intervals between them, and nothing to do with the quality of the instruments. (It is slightly more visible on the Coidaks, but only when the computed step sizes are very small.)

Have you tried different software (there are many free options) to confirm your suspicions that it is the software?

No and yes. "No," because, well, I haven't. "Yes," because I am rewriting mine to synchronize the two loops (using something akin to the multi-buffered approach John Chenault outlined earlier in this discussion).

What DMX hardware controller are you using?
Enttec OpenDMX. I'm aware that this device has been known to show timing problems, but those would manifest themselves in a variety of other ways, if I were experiencing them, and I'm not seeing any such things. Come to think of it, this effect should be just as visible in a simulated "light" on my computer screen as it is with an LED on my bench or hanging from a pipe, which means I don't need a DMX hardware controller at all to test my theories... hmmm...
 
Oh, I'm not blaming ADJ (or even Coidak) for this! The effect of those two loops being unsynchronized would still be visible if the curves on the instruments were drawn by the Almighty Himself. In fact, it would still be visible if the levels were infinitely finely grained, and not just set to discrete eight-bit values. It has everything to do with two unsynchronized loops computing and transmitting values at discrete times with varying intervals between them, and nothing to do with the quality of the instruments. (It is slightly more visible on the Coidaks, but only when the computed step sizes are very small.)

No and yes. "No," because, well, I haven't. "Yes," because I am rewriting mine to synchronize the two loops (using something akin to the multi-buffered approach John Chenault outlined earlier in this discussion).

Enttec OpenDMX. I'm aware that this device has been known to show timing problems, but those would manifest themselves in a variety of other ways, if I were experiencing them, and I'm not seeing any such things. Come to think of it, this effect should be just as visible in a simulated "light" on my computer screen as it is with an LED on my bench or hanging from a pipe, which means I don't need a DMX hardware controller at all to test my theories... hmmm...

Got it. I've used the ENTTEC Open DMX and a few cheap Chinese USB-DMX controllers, and we are currently using the ENTTEC USB DMX Pro2 - I was amazed at the performance difference between the controllers even though they are all in the "budget" controller price range. So, this may be a combination of the DMX software and controller behavior that could help to smooth these artifacts (as you've pointed out - I don't know that you'll ever be able to remove them, provided the current architecture of the DMX bus).
 
The effects of the unsynchronized loops are built into the DMX frames before those frames are given to the controller to send, so that's not a problem a different controller can cure. Synchronizing the loops is the only way to cure it. But, I'm always interested in avoiding other problems when I can, What improvements have you seen in the Pro2 over the OpenDMX?
 
The effects of the unsynchronized loops are built into the DMX frames before those frames are given to the controller to send, so that's not a problem a different controller can cure. Synchronizing the loops is the only way to cure it. But, I'm always interested in avoiding other problems when I can,

Agreed. If you suspect that the controller is not the issue and it's timing within the software, this is why I suggested trying different software to see it has the same effect that you are seeing. This could confirm your hypothesis that it is software-related, and if you use an Open Source software (DMX Control, QLC+, etc.), you might even get to see how that author solved the problem.

What improvements have you seen in the Pro2 over the OpenDMX?

Aside from the multiple outputs and single input, I have less issue with compatibility b/w the Pro Mk2 and lighting instruments. I do most of my work with non-profit community theaters and churches, so budgets are frequently razor thin - this means we tend to cobble together whatever instruments we can find (eBay, Craigslist, etc.). I've had the OpenDMX create flickering on some cheap LED lights. (I presume that this was likely a timing issue, but I never spent enough time to actually troubleshoot it - I just replaced the controller with the Pro Mk2).

A lot of the work I do is mobile/touring, so it's setting up a new rig each time it's used. Fortunately, the Pro Mk2 seems to come up more reliably (and the indicator LED lets me know on the odd occasion that it doesn't come up correctly). The OpenDMX seemed to randomly not work many times when we would setup - so it was a complicated game of cycle the USB connection and reboot the computer to get it to work.

Hope this helps, and good luck with your project!
 
Last edited:
...if you use an Open Source software (DMX Control, QLC+, etc.), you might even get to see how that author solved the problem.

Those are both pretty good programs. Internally, the source on QLC+ is a bit opaque, at least to me. DMXControl is, alas, not open source. (It also has a tendency to start speaking German, even when you ask it for English, but that's actually been somewhat educational :).)

I've had the OpenDMX create flickering on some cheap LED lights. (I presume that this was likely a timing issue, but I never spent enough time to actually troubleshoot it - I just replaced the controller with the Pro Mk2).

As I understand it (which may well be imperfectly), the issue with the OpenDMX is that it is merely a USB-to-serial UART that relies on the host computer to clock its output. This means that, if something delays the host long enough, the DMX receiver(s) may interpret the delay as the break that signals the end of a frame. This means the rest of the frame after the delay might be interpreted as the start of a new frame, or maybe as just garbage. It may also result in all channels after the delay being set to zero until the next frame. Depending on your frame rate, it's possible that such anomalies would be masked by the slow responses of incandescent lamps, while the nearly instantaneous response of an LED would make it much more apparent.

A lot of the work I do is mobile/touring, so it's setting up a new rig each time it's used. Fortunately, the Pro Mk2 seems to come up more reliably (and the indicator LED lets me know on the odd occasion that it doesn't come up correctly). The OpenDMX seemed to randomly not work many times when we would setup - so it was a complicated game of cycle the USB connection and reboot the computer to get it to work.

I'm in a similar boat. I do lights for community theater groups, which means we're almost always in a public school where the equipment can be, uh... temperamental. I've definitely had to cycle the OpenDMX a couple of times. Once my compujter sees it, though, it tends to behave itself. Like you, we are typically on a micro-budget, so the price point on the OpenDMX was appealing. Still, I would love to have something like the Mk2 and its stand-alone option. I'm always terrified during a show over the possibility that my Windows laptop will crash, go into some kind of busy loop, or decide it's time for an update.

Hope this helps, and good luck with your project!

Your thoughts and comments are much appreciated! This site is unsurpassed in the amount of help I get from its members. I'd be sunk in theater without it.
 
At almost the same price point as the Open, take a look at the DMX KIng Micro. It has the internal timing and I've had good experience with it.
 
Well, oops! Clicking on their link to a US vendor got me this:
upload_2017-11-30_16-56-55.png
 

Attachments

  • upload_2017-11-30_16-55-37.png
    upload_2017-11-30_16-55-37.png
    34 KB · Views: 187
Gosh, I wish our gear worked that way! We just closed "Man of La Mancha" at a local middle school. As the curtain opened on the last act, it somehow snagged a very loose power jack on a DMX splitter, so all of the DMX instruments downstream of the splitter went black. Owing to the fact that we had some lights up on trees in the house, running on a completely independent system, we still had enough illumination to continue the show while two hands scrambled like Tasmanian Devils to find the cord and plug it back in. Would have been a "Freeze!" moment without them.

So far, all of the gear I've used behaves this way. But, maybe there's some setting at the rack that would implement the "hold last" option. That's worth looking into, as it would certainly be safer than the way things have been going. (Of course, to use such a setting, I'll have to get the guy with the key to the rack to open it for me, then negotiate with him about being allowed to change a setting on A Very Mysterious Piece of Equipment, which can be a challenge. That's a subject for another thread, however.)

Even if your instruments do not "hold last" there is a variety of DMX rackmount devices that will allow you to program the behavior for these scenarios. Of course...they are not cheap...
(Fleenor DMX Decelerator $200, ETC Net 3 Gateway $700??,Pathway 1017 DMX/RDM Merger, Leviton DMXSM-H81 $600, etc.)
 
Even if your instruments do not "hold last" there is a variety of DMX rackmount devices that will allow you to program the behavior for these scenarios. Of course...they are not cheap...
(Fleenor DMX Decelerator $200, ETC Net 3 Gateway $700??,Pathway 1017 DMX/RDM Merger, Leviton DMXSM-H81 $600, etc.)
Good to know about. Nearly all of my work is in public school auditoriums. I have had no success in my efforts to advise them on equipment acquisitions. They do what they do, and that's all that they do.

But I'll keep this for future reference.
 

Users who are viewing this thread

Back