DMX bandwidth, timing and function aggregation

Ask a generic question about the usage of QLC+, not related to a particular operating system
Post Reply
etchonmind
Posts: 22
Joined: Sat Jan 18, 2020 12:12 am
Real Name: Oliver Keller

I´m still learning QLC+ as well as DMX and wonder about a few things related to bandwidth, refresh cycles etc. Basically I want to understand if there are practical limits of active channels per universe and whether the effects of DMX bandwidth consumption are just theoretical or have visible impact.

Quick word on the setup: 12 RGB-LED bars in pixel mode, 18 pixels each and a few traditional items such as moving heads, scanners, strobes. Roughly 1000 channels, divided into two universes with an equal distribution of LED bars (ca 300 channels per universe, ca 500 channels defined per universe).

It is my understanding that DMX has a variable frame length, so I assume that frames only contain channel data if the value of a given channel has changed, although there is a minimum frame length that can be achieved with padding if needed.

Q1: How does QLC+ build frames from collections, especially nested collection?

As an example, let´s assume there are 4 fixtures with 5 channels each and I build 20 scenes with just a single channel/value per fixture. The same channel for all 4 fixtures is combined in a collection, so I have 5 "channel type" collections with 4 scenes each. Then, a master collection is calling those 5 collections. Will QLC+ send 20 frames, each with a single value and padding or will QLC+ aggregate that in any way, like 5 frames with 4 values or even 1 frame with 20 values? Maybe not the most practical example, but it should illustrate my question.

Q2: Thinking of bandwidth, I expect a lot of traffic for the RGB matrixes, as something is always happening with the single pixels, for example when using plasma. That means ca 300 channels will be sent more or less constantly. What refresh rates can I expect from that, the artnet-dmx converter is set to 40 Hz.

Q3: If things work as I assume, what is a practical limit for constantly changing channels? Or how could I calculate the refresh rate I achieve with a given number of channels?

Sorry if all this is nonsense because my base assumption is wrong ;) I went and read the wiki article on DMX and that´s when the questions came up... Willing to learn!
lighthacker2020
Posts: 42
Joined: Mon Jan 06, 2020 2:40 am
Real Name: Mr Mike

I found that Wikipedia has a pretty good explanation of DMX bandwidth and timing. https://en.wikipedia.org/wiki/DMX512#Protocol

The bandwidth is pretty much locked to the serial bus data rate of 250 kbit/sec, per universe. A full 512 channels of data results in about a 43.48Hz refresh rate. Sending a spec-conforming minimum sized DMX packet (23 channels worth, if I understand the write up), you'll have a 836.12Hz refresh rate
User avatar
GGGss
Posts: 3052
Joined: Mon Sep 12, 2016 7:15 pm
Location: Belgium
Real Name: Fredje Gallon

Not quite ... the bus - independant of the number of channels always will be refreshed at 44Hz.
Say in a full universe channel 512 will refresh every 22ms.
If some would decide not to send out the full 512 channels but say 80, then channel 80 will refresh every 3,5ms
The human eye cannot distinguish flashes above approx. 15ms -> 22ms is your friend.
All electric machines work on smoke... when the smoke escapes... they don't work anymore
chasersync
Posts: 13
Joined: Sun Aug 20, 2017 1:09 am
Real Name:

Hello,

Massimo posted in viewtopic.php?f=17&t=12638#p53573 the change from QLC+ 4.12.0 and newer
"Plus, each Universe "final composition" is now triggered by a single event, therefore they work in parallel, and not in sequence like it was before.
This gives more breath to the main QLC+ engine clock (aka Master Timer) during its 20ms period, since it runs at 50 Hertz.
It "only" needs to gather from Functions, VC Widgets and Simple Desk, the faders involved and program them on their related Universe.
This is done just once, unless a fader changes continuously. All the rest (fade in, fade out, blending) is handled by Universes."

Concerning Q2 I don't know really much, so all this are estimations.
As Master Timer is running at 50 Hertz, you might get some sync trouble with output running at 40/44 Hz (if using changes so fast).
If there is no heavy traffic in the network or very limited bandwidth (10M for all network traffic that reaches the port (and so has to be worked by the network stack) on some homemade artnet devices) the 1000 Channels would be no problem (look at your system monitor for network traffic count). BUT: QLC+ sends not only changed channels but the whole (or to the last used channel if configured "Partial" in IO Manager, see https://www.qlcplus.org/downloads/4.12. ... lugin.html) universe every some (I think 20) ms. So the network traffic is independent from changed values.

Q3: QLC+ is capable to send Many full universes (512 Channels) to Network (maybe 300 full universes or more) . What number of packets /receive bits your Artnet node can compute per second... I don't know
etchonmind
Posts: 22
Joined: Sat Jan 18, 2020 12:12 am
Real Name: Oliver Keller

You guys are awesome!

Thanks for the insights and explanations, I now think I´m ok with the current setup. Worst case, I can break out to a second artnet-to-DMX node and reduce the load on the first. But I don´t expect to need to do that.

Cheers,
Oliver
Post Reply