Good light setup ettiquette

BundyRoy

Dedicated elf
Joined
Apr 9, 2014
Messages
1,026
Started looking at setting up my channel configuration on the weekend and it made me wonder about how data is sent through the 1.31 network.

With my controller (Pixlite 16) I have the ability to start an output at a particular channel in a universe but can this cause data transfer inefficiencies. I understand it is good in terms of utilising all channels and minimising the number of universes required.

However, at this stage I don't have that many pixels (1138 to be exact).

Is it more efficient for the computer to send data so that each output starts at a new universe. This would prevent the need for say the first 100 channels of universe 2 being sent to output 1 and then the subsequent 410 channels being sent to output 2.

Is there any benefits/risks associated with setting up universes for outputs. I understand this has the potential to waste many channels in a universe. Do all channels in a universe get sent in a "packet" regardless of if they are used.

You will notice from the rambling unorganised way this question is written I have no real understanding of how data is formed/grouped/sent/received but I just thought I should try and get into good set up habits now before (hopefully) things start to get bigger over the years.
 

kane

Dedicated elf
Joined
Dec 23, 2010
Messages
1,033
Location
Trigg (Northern suburbs of Perth)
From memory, data for the whole universe (all 512 channels) is always sent in each packet (so even if you're only using 10 channels, another 412 zeros will be sent for the rest of the universe.
 

mararunr

Here to learn! (and share)
Joined
Dec 31, 2013
Messages
238
Location
3505 NW Edgewood Ave, Bentonville Arkansas, USA
Have wondered this myself as well (also using PixLite 16)...hope someone on here can help with below...


Is it more efficient for the computer to send data so that each output starts at a new universe. This would prevent the need for say the first 100 channels of universe 2 being sent to output 1 and then the subsequent 410 channels being sent to output 2.
 

ltay13

Full time elf
Community project designer
Joined
Jan 2, 2012
Messages
121
Location
Eastern Melbourne
Some software will send full frames regardless of how many slots are actually being used, others will only send the required length of data.


In terms of what is most efficient, this would be using all channels sequentially. If you leave unused channels in a universe, the lighting software still has to send a packet (which has other things apart from the 'DMX' data) for that universe. So in other words, more universes than you need with unused channels in them is always going to be less efficient, even if your software will send partial frames instead of always sending full frames.


However that is the technical answer. The practical reality is that leaving unused slots in universes shouldn't have any noticeable impact on performance if you are still using a fair % of that universe. In other words, if it's easier for you to understand, setup or manage by leaving some blank spots in universes then you shouldn't stress about it.


2 practical scenarios:


1. You have a single string of 50 pixels on each of your 16 outputs. Using an entire universe for each output would definitely be a waste and if you had lots of controllers setup like this, would have a negative impact on performance.


2. You are using 10m of strip using 300 pixels total on each output. It might be easier to understand if you start O/P 1 at universe 1, O/P 2 at universe 3, O/P 3 at universe 5 etc skipping the last few available channels in every second universe. Performance wise you won't notice a difference compared to sequential channels.


If you ever did notice a performance decrease in a situation like number 2 above (where you are using 88% of channels in a packet instead of 100%), you need to upgrade your infrastructure, not change you channel configs.
 

BundyRoy

Dedicated elf
Joined
Apr 9, 2014
Messages
1,026
Thanks L_Tay. Now my next thoughts after my efforts today.

Should I use unicast or multicast? Is one more efficient than the other. I only have one controller on my 1.31 network. I have it set up on multicast at the moment and it all works. I did this purely because when I set multicast it didn't ask me any more questions. When I choose unicast it asked me for IP addresses and that was one more issue than I needed at the time.

Now I have a little more confidence that I can make things work, if unicast is considered optimal do I use the IP address of the controller or the IP address of the network port on my computer or something else.

Thanks
 

kane

Dedicated elf
Joined
Dec 23, 2010
Messages
1,033
Location
Trigg (Northern suburbs of Perth)
BundyRoy said:
Thanks L_Tay. Now my next thoughts after my efforts today.

Should I use unicast or multicast? Is one more efficient than the other. I only have one controller on my 1.31 network. I have it set up on multicast at the moment and it all works. I did this purely because when I set multicast it didn't ask me any more questions. When I choose unicast it asked me for IP addresses and that was one more issue than I needed at the time.

Now I have a little more confidence that I can make things work, if unicast is considered optimal do I use the IP address of the controller or the IP address of the network port on my computer or something else.

Thanks

With Unicast, you enter the IP address of the controller. So instead of your software broadcasting the data to the whole network (which in theory could flood the network), it's only sending the data to the particular device.

That being said, with only a handful of devices, you're very unlikely to notice the difference between unicast and multicast.. Once you start getting a decent number of controllers, it may be noticeable, but mileage can vary..

About the only downside that I can think of with unicast is that you can't setup two or more controllers on the same universe. For example, if you had two display elements that had their own controller, that you wanted to mirror each other (rather than programming them individually), then you could have them both on universe 12. But you would have to use multicast, otherwise only one of the controllers would receive the data
 

dkulp

Full time elf
Joined
Jan 2, 2013
Messages
143
Location
Framingham, MA
BundyRoy said:
Thanks L_Tay. Now my next thoughts after my efforts today.

Should I use unicast or multicast? Is one more efficient than the other. I only have one controller on my 1.31 network. I have it set up on multicast at the moment and it all works. I did this purely because when I set multicast it didn't ask me any more questions. When I choose unicast it asked me for IP addresses and that was one more issue than I needed at the time.

Now I have a little more confidence that I can make things work, if unicast is considered optimal do I use the IP address of the controller or the IP address of the network port on my computer or something else.

Thanks


If you have WIFI anywhere on your network, use Unicast. Multicast and WIFI don't work very well together. The multicast packets (since they are broadcast out to EVERYONE) have to be sent out on the slowest speed of the WIFI which then causes the entire wifi network to slow down for everyone.


In general, I'd recommend unicast.
 
Top