Author Topic: Spacing out universes  (Read 814 times)

Offline gleaminx

  • Newbie
  • *
  • Join Date: Jan 2019
  • Location:
  • Posts: 6
  • Kudos: 0
Spacing out universes
« on: March 19, 2019, 12:11:28 PM »
Can I space out my universes so that later on if I want to add a prop, I don't have to change every prop's universe afterwards?  I have read that the F48 has 96 universes total allowing 16,384 pixels (49,152 channels).  Is that a hard number of 96 universes regardless if I use all the channels in each universe?  In other words, can I have 48 props each with less than or equal to 170 pixels spaced by 5 universes each?  That would equal 240 universes (over the limit) but only using 24,480 channels (way under the limit).
TIA

Offline Poporacer

  • Hero Member
  • *****
  • Join Date: Dec 2017
  • Location: Meridian Idaho
  • Posts: 553
  • Kudos: 7
Re: Spacing out universes
« Reply #1 on: March 19, 2019, 01:05:33 PM »
You don't want to give each prop its own universe, this will only confuse you (what about a prop that uses several Universes?)
Universes are used just for identification of each pixel so that the controller knows what pixel to send the data to. You can only have a total of 96 universes used but they don't have to be 1-96 you can number them anything you want. It is very common to start each controller or receiver with a Universe that starts on a multiple of 100+1.
So for example, you could have your first receiver to start at Universe 101 Channel 1 and then your first model start channel will be Universe 101 Start Channel 1 and each model after that will be "chained" to the model before it. Your "100" series of universes will end with what you need for your current models on that receiver. That way you can expand as needed. Your next receiver will follow suit and start on Universe 201 channel 1.
Some people will follow the 100 series of Universes but start each port with the next available Universe on each port of the controller/Receiver. For example, Receiver 1 Port 1 has several models that total 823 pixels. You are using universe size of 510 channels so that means that it will take a little almost 5 Universes to identify all of the pixels on port 1 (823 Pixels = 2469 channels, 5 Universes @ 510 channels = 2550) So then you would start Receiver 1 Port 2 to start at Universe 106 Channel 1, and follow this pattern for the rest of the ports.

If you use the "chaining" addressing in XLights, then you can move models all over the place with very little headache (Use the model overlap feature!)
If to err is human, I am more human than most people.

Offline gleaminx

  • Newbie
  • *
  • Join Date: Jan 2019
  • Location:
  • Posts: 6
  • Kudos: 0
Re: Spacing out universes
« Reply #2 on: March 19, 2019, 02:33:01 PM »
For example, Receiver 1 Port 1 has several models that total 823 pixels. You are using universe size of 510 channels so that means that it will take a little almost 5 Universes to identify all of the pixels on port 1 (823 Pixels = 2469 channels, 5 Universes @ 510 channels = 2550) So then you would start Receiver 1 Port 2 to start at Universe 106 Channel 1, and follow this pattern for the rest of the ports.

This is exactly how I have my props assigned in xLights.  However, I added a prop and want to use it on a receiver that is already using all 4 ports and is too big to squeeze in.  So, it looks like I have to now reassign all the universes and ports after the new prop, correct?

Online robbiet

  • Jr. Member
  • **
  • Join Date: Nov 2017
  • Location:
  • Posts: 64
  • Kudos: 0
Re: Spacing out universes
« Reply #3 on: March 19, 2019, 05:48:39 PM »
Me too. I use the 100 series approach and each receiver has its own range of universes. 100, 200, 300, etc.


Sent from my iPhone using Tapatalk

Offline Poporacer

  • Hero Member
  • *****
  • Join Date: Dec 2017
  • Location: Meridian Idaho
  • Posts: 553
  • Kudos: 7
Re: Spacing out universes
« Reply #4 on: March 19, 2019, 09:10:04 PM »
This is exactly how I have my props assigned in xLights.  However, I added a prop and want to use it on a receiver that is already using all 4 ports and is too big to squeeze in.  So, it looks like I have to now reassign all the universes and ports after the new prop, correct?
Give us some more details. Why do you think it is too big to fit in? Can you change the port division to get it to fit?

Offline k6ccc

  • Hero Member
  • *****
  • Join Date: Mar 2015
  • Location: Glendora, Calif, U.S.A. (near Los Angeles)
  • Posts: 509
  • Kudos: 6
    • Newburgh Lights
Re: Spacing out universes
« Reply #5 on: March 20, 2019, 08:52:03 AM »
You don't want to give each prop its own universe, this will only confuse you (what about a prop that uses several Universes?)
Why would it confuse you to have each prop have it's own universe?  Essentially all of my props start with channel 1 of whatever universe.  In my yard:
South planter is universe 1 (94 pixels),
North planter is Universe 2 (94 pixels),
Walkway south and north will be universes 3 & 4 (about 150 pixels) after the walkway gets built,
Roses are universe 5 (17 pixels).  That's the year round stuff.

For Christmas, the 26 x 100 pixel tree starts with Universe 11 (through 26),
Pixel star is universes 27 - 29 (each 90 pixel string is one universe), 
Lower eves are universe 31 (about 60 pixels),
Upper eves are 32 (also about 60 pixels),
Lower roofline is 33 (116 pixels),
Upper roofline is 34 (66 pixels),
Perimeter string is universe 36 (50 pixels),
Candy canes are universe 37 (96 pixels). 
Lastly the P10 matrix is universes 101 - 136,
P5 matrix is universes 201 - 272.

And of course, many props have more than one universe (as noted above).
Using LOR (mostly SuperStar) for all sequencing - using FPP only to drive P5 and P10 panels.
Jim

Offline Poporacer

  • Hero Member
  • *****
  • Join Date: Dec 2017
  • Location: Meridian Idaho
  • Posts: 553
  • Kudos: 7
Re: Spacing out universes
« Reply #6 on: March 20, 2019, 10:37:03 AM »
You don't want to give each prop its own universe, this will only confuse you (what about a prop that uses several Universes?)
Why would it confuse you to have each prop have it's own universe?
It might not confuse you, (or him for that matter) but for someone new, I suggest starting simple and then making modifications to suit your need as you learn. And if you are using one Universe per model then he will severely limit his show to 96 models or less! (a decent size MegaTree can take 10-20 universes on its own!) You mentioned Candy canes, do you have multiple candy canes or one candy cane of 96 pixels? If multiple candy canes, then you are not following the "one universe per model" criteria, which is fine, but for someone learning I think the KISS principle is the best and stick to one method until they learn it.
In this hobby, I stress that there is "A way" and not "THE Way" and you have the pick whichever "A way" works for you.

Offline pixelpuppy

  • Hero Member
  • *****
  • Join Date: Aug 2015
  • Location: Dallas, TX
  • Posts: 1,420
  • Kudos: 45
Re: Spacing out universes
« Reply #7 on: March 20, 2019, 10:40:53 AM »
You don't want to give each prop its own universe, this will only confuse you (what about a prop that uses several Universes?)
Why would it confuse you to have each prop have it's own universe?  Essentially all of my props start with channel 1 of whatever universe.  In my yard:
South planter is universe 1 (94 pixels),
North planter is Universe 2 (94 pixels),
Walkway south and north will be universes 3 & 4 (about 150 pixels) after the walkway gets built,
Roses are universe 5 (17 pixels).  That's the year round stuff.

For Christmas, the 26 x 100 pixel tree starts with Universe 11 (through 26),
Pixel star is universes 27 - 29 (each 90 pixel string is one universe), 
Lower eves are universe 31 (about 60 pixels),
Upper eves are 32 (also about 60 pixels),
Lower roofline is 33 (116 pixels),
Upper roofline is 34 (66 pixels),
Perimeter string is universe 36 (50 pixels),
Candy canes are universe 37 (96 pixels). 

I agree with Poporacer, you don't want to give each prop its own universe.  But for a different reason than the one he gave.

It may not be confusing to you but it is a very inefficient use of network and CPU resources.  Every Universe adds overhead of 126 bytes for E1.31 headers, whether its 3 channels or 510 channels and that's not counting Ethernet and IP/UDP headers (additional 66 bytes) so thats a total overhead of 192 bytes for every Universe.  All those small (<126 channels) universes you're sending out are inuring more than 100% additional overhead yielding a 50% reduction in performance or worse.  Since Universes are mapped to IP addresses, in my opinion it makes more sense to send blocks of Universes to controllers rather than individual Universes to individual props.
« Last Edit: March 20, 2019, 10:48:41 AM by pixelpuppy »
-Mark

Offline jnealand

  • Developer
  • ******
  • Join Date: Aug 2013
  • Location: Kennesaw, GA
  • Posts: 2,936
  • Kudos: 68
Re: Spacing out universes
« Reply #8 on: March 20, 2019, 12:45:15 PM »
I'd be willing to bet that all this performance stuff has no practical effect on the average users show.  And if you are using the latest and greatest xlight software and firmware for FPP the future will have segmented fseq files so this so called performance hit has no real effect that can be seen by the average viewer or noticed by the average user.  Is there an effect, sure, but it does not impact my show and I have my doubts that it in fact impacts most if any shows.  Just my 2 cents which these days is not much.  LOL
Jim Nealand
Kennesaw, GA all Falcon controllers, all 12v Master Remote Multisync with Pi and BBB P10 and P5

Offline dkulp

  • Developer
  • ******
  • Join Date: Sep 2013
  • Location: Framingham, MA
  • Posts: 1,592
  • Kudos: 92
    • KulpLights.com
Re: Spacing out universes
« Reply #9 on: March 20, 2019, 01:16:27 PM »
On the flip side, I'm 90% sure that if you ask either myself, Keith, or Dave Pitts (basically, 3 of the people that are the biggest experts in the low level parts of both xLights and the hardware),  we'd all agree that exposing the concepts of universes to the users was a huge mistake and something we wish we hadn't done years ago.  :(     It's something we're working on trying to "fix", but obviously due to the legacy nature of everyone's current displays, its not really something we can rip out and not break everyone.   


The users of FPP capes/hats are likely the closest right now and hopefully will be a step even closer with .18.   With .18, you should be able to set the first model on the controller to "!MyController:1" and chain all the models from there.  You would assign each model to the appropriate port on the cape and xLights will upload the appropriate string configurations.   The next goal from there is to not set a start channel at all.   You set it to "Automatic", set the controller/port, and xLights will completely determine the start channel, upload the cape configurations, etc...   You won't need to think about channels at all, let alone universes.    That's a bit further away though.   





Offline pixelpuppy

  • Hero Member
  • *****
  • Join Date: Aug 2015
  • Location: Dallas, TX
  • Posts: 1,420
  • Kudos: 45
Re: Spacing out universes
« Reply #10 on: March 20, 2019, 01:17:03 PM »
I'd be willing to bet that all this performance stuff has no practical effect on the average users show.  And if you are using the latest and greatest xlight software and firmware for FPP the future will have segmented fseq files so this so called performance hit has no real effect that can be seen by the average viewer or noticed by the average user.  Is there an effect, sure, but it does not impact my show and I have my doubts that it in fact impacts most if any shows.  Just my 2 cents which these days is not much.  LOL
How much you wanna bet?  ;)   And yeah, it does depend on what you consider to be "the average user"  ???

Jim, with all due respect, I know you are running FPP Master/Remote like me (are we average users?) and therefore the universe efficiency discussion does not really apply (since the FPP remotes have local copies of the data).  Sparse FSEQ files help with copying the FSEQ data around to all the remotes, but it doesn't cut down on actual E1.31 Universe data sent across the network.  In fact, with an FPP Master/Remote setup you don't need to define ANY universes in xLights because you are distributing channel data as FSEQ files and not sending e1.31 Universes from xLights to FPP.  Yeah, most of us with Master/Remote still define Universes in xLights for consistancy and aid in troubleshooting.  But that is not the performance I mentioned.    There is absolutely a performance impact IF you are sending Universe data from xLights/xSchedule across the network to the controllers and you use lots of small universes versus a few big ones.   Also, as I'm sure you're aware, different controllers have different maximum Universe limitations which are based on performance characteristics of those controllers (both network and cpu).  For example, the F16V3 has a 96 universe limitation regardless of their size.  If you only put 30 channels in each universe then you'll only be able to control 960 pixels on the whole controller.  The only way to get the full pixel capacity of the controller is to send it full universes.  Fewer large universes is absolutely more efficient than lots of little ones.   ::)  Even better is to scrap E1.31 universes and go with DDP where possible but unfortunately, not all controllers support DDP.  :-\
« Last Edit: March 20, 2019, 02:02:14 PM by pixelpuppy »

Offline k6ccc

  • Hero Member
  • *****
  • Join Date: Mar 2015
  • Location: Glendora, Calif, U.S.A. (near Los Angeles)
  • Posts: 509
  • Kudos: 6
    • Newburgh Lights
Re: Spacing out universes
« Reply #11 on: March 20, 2019, 05:14:02 PM »
It might not confuse you, (or him for that matter) but for someone new, I suggest starting simple and then making modifications to suit your need as you learn. And if you are using one Universe per model then he will severely limit his show to 96 models or less! (a decent size MegaTree can take 10-20 universes on its own!)
I think that depends on what is "easier".  To me, the FPP (and I gather xLights) "channel number" makes no sense at all.  So saying that not using universe data is easier only means that the real data is being hidden from the end user.
 
You mentioned Candy canes, do you have multiple candy canes or one candy cane of 96 pixels? If multiple candy canes, then you are not following the "one universe per model" criteria, which is fine, but for someone learning I think the KISS principle is the best and stick to one method until they learn it.
It's six candy canes that are one physical string being driven by a single output of a SanDevices E6804 controller.  It would not make any sense to either drive each candy cane with a single output from a controller, or split a single output into six universes (if the controller could even support that operation - I'm not aware of any that could).
In this hobby, I stress that there is "A way" and not "THE Way" and you have the pick whichever "A way" works for you.
That I 100% agree with!
It may not be confusing to you but it is a very inefficient use of network and CPU resources.  Every Universe adds overhead of 126 bytes for E1.31 headers, whether its 3 channels or 510 channels and that's not counting Ethernet and IP/UDP headers (additional 66 bytes) so thats a total overhead of 192 bytes for every Universe.  All those small (<126 channels) universes you're sending out are inuring more than 100% additional overhead yielding a 50% reduction in performance or worse.  Since Universes are mapped to IP addresses, in my opinion it makes more sense to send blocks of Universes to controllers rather than individual Universes to individual props.
Actually it's even worse because there will also be 512 channels of channel data regardless of the number that are actually being used.  However, I agree with the other Jim that it's very unlikely to be an issue.
Another part of that is how you build your show.  I an NOT a fan of trying to control an entire show off of a single controller just because it can.  My Christmas show uses eight E1.31 controllers.  They vary from 72 full universes (my P5 panel) to 17 pixels (my roses).  Most of the separation is becuase of physical placement and the other part is that I started with pixels fairly early in the game and there were not many pixel controllers out there.  Except for the FPP installations to drive my P5 and P10 panels, all of my E1.31 is SanDevices controllers.  I really like them - although I fully admit that they are getting rather dated and there are others that have far greater capabilities these days.
Gotta run...

Offline Poporacer

  • Hero Member
  • *****
  • Join Date: Dec 2017
  • Location: Meridian Idaho
  • Posts: 553
  • Kudos: 7
Re: Spacing out universes
« Reply #12 on: March 20, 2019, 05:49:04 PM »
It might not confuse you, (or him for that matter) but for someone new, I suggest starting simple and then making modifications to suit your need as you learn. And if you are using one Universe per model then he will severely limit his show to 96 models or less! (a decent size MegaTree can take 10-20 universes on its own!)
I think that depends on what is "easier".  To me, the FPP (and I gather xLights) "channel number" makes no sense at all.  So saying that not using universe data is easier only means that the real data is being hidden from the end user.
I am not sure what you are saying here, but OK
You mentioned Candy canes, do you have multiple candy canes or one candy cane of 96 pixels? If multiple candy canes, then you are not following the "one universe per model" criteria, which is fine, but for someone learning I think the KISS principle is the best and stick to one method until they learn it.
It's six candy canes that are one physical string being driven by a single output of a SanDevices E6804 controller.  It would not make any sense to either drive each candy cane with a single output from a controller, or split a single output into six universes (if the controller could even support that operation - I'm not aware of any that could).
And that is EXACTLY what I am trying to get at! So you DO NOT use a new Universe for every model like you were saying you did. And, like you said, it doesn't make sense to do so. So what if he had 3 candy canes and then 2 arches all on one physical string connected to one port of a controller? Does he start the candy canes on one universe and then the arches on another one? Or do they all get their own universe like you said he should do in the beginning? You are going to get the poor lad more confused here. I hate telling someone to do it THIS way except when.... the excepts only confuse newbies. And yes, you can have multiple partial universes on a single port of a controller. I have a feeling that your practice is what I identified in the second half of my original post? But there are a million ways to do things and get them to work, I just want to keep it simple for him to start with and then they can do any combination of things they want once they figure out how to get it working.
It may not be confusing to you but it is a very inefficient use of network and CPU resources.  Every Universe adds overhead of 126 bytes for E1.31 headers, whether its 3 channels or 510 channels and that's not counting Ethernet and IP/UDP headers (additional 66 bytes) so thats a total overhead of 192 bytes for every Universe.  All those small (<126 channels) universes you're sending out are inuring more than 100% additional overhead yielding a 50% reduction in performance or worse.  Since Universes are mapped to IP addresses, in my opinion it makes more sense to send blocks of Universes to controllers rather than individual Universes to individual props.
Actually it's even worse because there will also be 512 channels of channel data regardless of the number that are actually being used.  However, I agree with the other Jim that it's very unlikely to be an issue.
Another part of that is how you build your show.  I an NOT a fan of trying to control an entire show off of a single controller just because it can.
But the OP stated that he had an F48 and that is what he is using, why not help him with what he has right now and learn from it and then when he is ready to spend some more money, guide him in the right direction? 
My Christmas show uses eight E1.31 controllers.  They vary from 72 full universes (my P5 panel) to 17 pixels (my roses).  Most of the separation is becuase of physical placement and the other part is that I started with pixels fairly early in the game and there were not many pixel controllers out there.  Except for the FPP installations to drive my P5 and P10 panels, all of my E1.31 is SanDevices controllers.  I really like them - although I fully admit that they are getting rather dated and there are others that have far greater capabilities these days.
Gotta run...

Offline jnealand

  • Developer
  • ******
  • Join Date: Aug 2013
  • Location: Kennesaw, GA
  • Posts: 2,936
  • Kudos: 68
Re: Spacing out universes
« Reply #13 on: March 20, 2019, 07:46:59 PM »
@pixelpuppy.  I am reminded of the old days of computers when people were concerned about the block size of data written to hard disks.  Folks were super concerned about wasting bits and speed of read write, but except for those folks really stressing about "efficiency"  But everything ran and nothing died.  We just keep throwing hardware at it.  This is one of those never ending debates.  I just love to stir these up.  LOL

Offline k6ccc

  • Hero Member
  • *****
  • Join Date: Mar 2015
  • Location: Glendora, Calif, U.S.A. (near Los Angeles)
  • Posts: 509
  • Kudos: 6
    • Newburgh Lights
Re: Spacing out universes
« Reply #14 on: March 20, 2019, 08:34:50 PM »
And that is EXACTLY what I am trying to get at! So you DO NOT use a new Universe for every model like you were saying you did. And, like you said, it doesn't make sense to do so. So what if he had 3 candy canes and then 2 arches all on one physical string connected to one port of a controller? Does he start the candy canes on one universe and then the arches on another one?
Actually I said "Essentially all" - not absolutely all.  And no, I would ABSOLUTELY NEVER put the arches on the same string as the candy canes (even if they were right next to each other and were compatible pixels (in my case, they are not)).  Although there are six candy canes, they are treated as a single display item.  Similarly, my lower eves consist of six strings, but are considered a single prop.  The upper eves consist of a four strings, but are treated as a single display item.

 

Back to top