Delay on the DMX signal in Sequences

All the topics related to QLC+ on the Raspberry Pi
Post Reply
Posts: 1
Joined: Mon Nov 27, 2017 9:37 am
Real Name: Georg

Delay on the DMX signal in Sequences

Post by schnorschl » Mon Nov 27, 2017 9:42 am

My story:
I run QLC+ on the Raspberry Pi for half an year now. QLC+ controls our lights synced to my Band's music.
The Architecture of the whole system starts at the Roland SPD-SX Drumpad with starting the backing tracks and, simultaneously, sending a song specific midi note over a midi interface to the raspi. PC or CC messages are not supported by the drumpad.
With each midi note, a specific show is triggered in QLC+. The DMX signal is transferred with an Enttec DMX USB PRO interface with an update rate of 40Hz.
I've added seven fixtures: A fog machine(1CH), two beams(2x4CH), two washes(2x7CH) and two 10LED Bars (2x12CH), adding up to 47 DMX channels controlled by the Raspberry Pi.

Since I detected some problems on the performance (Delay of DMX signal) at even slow event changes with more than two involved fixtures in one Scene-based Sequence, I've got a little bit of a solution with cutting the long sequence into its repetitive parts and pasting the outcoming short sequences severally to its respective position in the timeline.
Since I do not have this sort of problems with an scene length of 50ms, 100ms or 150ms, but at "not-round" lengths like 83ms, 47ms or 189ms, I assume this issue does not only come from the limited cpu power of the raspi3, but could also be the outcome of two different time quantums that are rounded by the software.

Can someone help me getting my light accents right on the click?

Regards, Georg

Posts: 29
Joined: Mon Nov 06, 2017 4:40 pm
Location: Herefordshire, UK
Real Name: Doug Hadfield

Re: Delay on the DMX signal in Sequences

Post by doughadfield » Fri Dec 01, 2017 5:21 pm

An interesting problem! It would be useful to determine whether the delay is being caused by lack of CPU power (I doubt it) or some software-related issue (like timing clashes, as you mention). I suggest you log into the pi (get the pi onto a network, then ssh into it from an ssh client on another computer) and run "top". This standard linux command will show the CPU load on the Pi in real time, as well as displaying an ordered list of the processes taking the most CPU.

While top is running, execute the midi commands to the Pi as you would in your live show, and watch what happens to the cpu load. If it stays below 50% or so, then I suggest your problem is not the Pi maxing out, so you'll know to look elsewhere.

What type of Pi are you running on (which generation)? if it's an old one, then perhaps buying a Pi3 to try out would also be an idea, if you can afford it. However I'm fairly sure the problem you're seeing is not the Pi CPU, as according to my observations, the load on the Pi during normal QLCPLUS execution is pretty low.


User avatar
Posts: 1931
Joined: Sun Apr 12, 2015 9:09 am
Location: Italy
Real Name: Massimo Callegari

Re: Delay on the DMX signal in Sequences

Post by mcallegari » Sat Dec 02, 2017 11:51 am

The QLC+ master timer granularity is 20ms.
In Chasers/Sequences, QLC+ tries to compensate fractions among steps.
For example 47ms will probably be 40ms and then the next step will last 7ms more than its duration. I need to check the code, but if I remember right that's how it works.

In any case, there is no millisecond precision, so you're invited to use multiple of 20ms.

Post Reply