Page 3 of 6 FirstFirst 12345 ... LastLast
Results 21 to 30 of 51

Thread: Vixen 3 - Choppy performance / slow updates

  1. #21
    Join Date
    Dec 2011
    Posts
    6,100
    Post Thanks / Like

    Default Re: Vixen 3 - Choppy performance / slow updates

    How difficult is it to run e131 code on a arduino ? Could you not pursue that path , or is it to cumbersome ?

  2. #22
    Join Date
    Nov 2017
    Posts
    32
    Post Thanks / Like

    Default Re: Vixen 3 - Choppy performance / slow updates

    Quote Originally Posted by jchuchla View Post
    Here's another test for you. It'll take a bit of effort to set up for testing though. Try to duplicate your serial controllers using a network controller like StreamingACN. you can leave the elements patched to the original controllers, just disable/stop the controllers in display setup. Then patch your elements to the new StreamingACN controllers just like they're patched to the original controllers. See if the performance is the same, or if it improves. Note that you won't actually be receiving data on the real controllers, so you'll need to observe the performance with vixen instrumentation. If it stays the same, the problem isn't in your serial system at all. It would be in vixen. likely due to the high number of controller instances. If the problem improves, you can assume it has something to do with the serial/usb system and you can continue troubleshooting down that path.
    I almost wonder if it would be easier to do a find/replace in the ModuleStore.xml to just change the controller types? make a backup first. Or would that really hose things up?

    Code:
    <Module dataModelType="VixenModules.Output.GenericSerial.Data, GenericSerial" moduleType="d22c9233-16e9-4008-a215-e577f78a7a2e" moduleInstance="0116062a-0e87-4bd5-82f7-2084259d7d2e">
          <Data xmlns="http://schemas.datacontract.org/2004/07/VixenModules.Output.GenericSerial" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
            <ModuleInstanceId xmlns="">0116062a-0e87-4bd5-82f7-2084259d7d2e</ModuleInstanceId>
            <ModuleTypeId xmlns="">d22c9233-16e9-4008-a215-e577f78a7a2e</ModuleTypeId>
            <BaudRate>115200</BaudRate>
            <DataBits>8</DataBits>
            <Footer />
            <Header>&gt;&gt;024&lt;&lt;</Header>
            <Parity>None</Parity>
            <PortName>COM4</PortName>
            <StopBits>One</StopBits>
          </Data>
        </Module>

  3. #23
    Join Date
    Nov 2011
    Location
    Chicago - Southwest Suburbs
    Posts
    7,940
    Post Thanks / Like

    Default Re: Vixen 3 - Choppy performance / slow updates

    Quote Originally Posted by angus40 View Post
    How difficult is it to run e131 code on a arduino ? Could you not pursue that path , or is it to cumbersome ?
    I've heard that an Arduino uno (ATMega328p) can't receive sACN and drive a ws2811 stream at the same time. Too much timing to manage on a mcu with that little power. It should be possibly on a faster mcu though.

    Another way to attack this is to use a sACN to serial bridge. That way you're sending all of the data out of vixen and the PC via the high bandwidth ethernet pipe, then you're using dedicated purpose built hardware to convert the sACN to multiple serial streams. It also takes the USB stuff out of the mix which helps reliability.

  4. #24
    Join Date
    Nov 2011
    Location
    Chicago - Southwest Suburbs
    Posts
    7,940
    Post Thanks / Like

    Default Re: Vixen 3 - Choppy performance / slow updates

    Quote Originally Posted by Palmore View Post
    I almost wonder if it would be easier to do a find/replace in the ModuleStore.xml to just change the controller types? make a backup first. Or would that really hose things up?

    Code:
    <Module dataModelType="VixenModules.Output.GenericSerial.Data, GenericSerial" moduleType="d22c9233-16e9-4008-a215-e577f78a7a2e" moduleInstance="0116062a-0e87-4bd5-82f7-2084259d7d2e">
          <Data xmlns="http://schemas.datacontract.org/2004/07/VixenModules.Output.GenericSerial" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
            <ModuleInstanceId xmlns="">0116062a-0e87-4bd5-82f7-2084259d7d2e</ModuleInstanceId>
            <ModuleTypeId xmlns="">d22c9233-16e9-4008-a215-e577f78a7a2e</ModuleTypeId>
            <BaudRate>115200</BaudRate>
            <DataBits>8</DataBits>
            <Footer />
            <Header>>>024<<</Header>
            <Parity>None</Parity>
            <PortName>COM4</PortName>
            <StopBits>One</StopBits>
          </Data>
        </Module>
    I don't think that would be as easy as it sounds on the surface. Though it might be possible.

  5. #25
    Join Date
    Oct 2011
    Location
    Maryville, Illinois
    Posts
    1,708
    Post Thanks / Like

    Default Re: Vixen 3 - Choppy performance / slow updates

    Quote Originally Posted by Palmore View Post
    I almost wonder if it would be easier to do a find/replace in the ModuleStore.xml to just change the controller types? make a backup first. Or would that really hose things up?

    Code:
    <Module dataModelType="VixenModules.Output.GenericSerial.Data, GenericSerial" moduleType="d22c9233-16e9-4008-a215-e577f78a7a2e" moduleInstance="0116062a-0e87-4bd5-82f7-2084259d7d2e">
          <Data xmlns="http://schemas.datacontract.org/2004/07/VixenModules.Output.GenericSerial" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
            <ModuleInstanceId xmlns="">0116062a-0e87-4bd5-82f7-2084259d7d2e</ModuleInstanceId>
            <ModuleTypeId xmlns="">d22c9233-16e9-4008-a215-e577f78a7a2e</ModuleTypeId>
            <BaudRate>115200</BaudRate>
            <DataBits>8</DataBits>
            <Footer />
            <Header>>>024<<</Header>
            <Parity>None</Parity>
            <PortName>COM4</PortName>
            <StopBits>One</StopBits>
          </Data>
        </Module>
    I have not tried to do it, but you would have to swap out all the relevant data parts and and get the proper module type. The module instance id is what ties the outputs to the controller, so you would have to keep that as part of the swap and go one to one with the e1.31 to each serial.

  6. #26
    Join Date
    Nov 2017
    Posts
    32
    Post Thanks / Like

    Default Re: Vixen 3 - Choppy performance / slow updates

    Quote Originally Posted by angus40 View Post
    How difficult is it to run e131 code on a arduino ? Could you not pursue that path , or is it to cumbersome ?
    I've never honesty looked into it.

    My current setup is the PC and arduinos in the garage and a mass of shielded cables I run from the arduinos out to the yard and props. The tree test I've been doing is a 6inch cable run to the first light.

    I did just come across this, and I could get some ESP8266 adapters for each of my Arduinos if FPP doesn't solve the issue. That'd take out the serial interface completely.
    I also do have one of my older WRT54G (L) routers out in the garage running DDWRT in bridged mode to my main router as I knew I would eventually swap to wireless or cat5e based controllers closer to the props.
    I'd just hate to have to rush to do that this year lol

    https://github.com/forkineye/E131

    But that looks to be an Arduino library for e1.31 on arduino with either ESP8266 or an Ethernet shield. (oh wait... the ESP8266 is a serial based WiFi adapter lol)

  7. #27
    Join Date
    Dec 2011
    Posts
    6,100
    Post Thanks / Like

    Default Re: Vixen 3 - Choppy performance / slow updates

    Quote Originally Posted by Palmore View Post
    I've never honesty looked into it.

    My current setup is the PC and arduinos in the garage and a mass of shielded cables I run from the arduinos out to the yard and props. The tree test I've been doing is a 6inch cable run to the first light.

    I did just come across this, and I could get some ESP8266 adapters for each of my Arduinos if FPP doesn't solve the issue. That'd take out the serial interface completely.
    I also do have one of my older WRT54G (L) routers out in the garage running DDWRT in bridged mode to my main router as I knew I would eventually swap to wireless or cat5e based controllers closer to the props.
    I'd just hate to have to rush to do that this year lol

    https://github.com/forkineye/E131

    But that looks to be an Arduino library for e1.31 on arduino with either ESP8266 or an Ethernet shield. (oh wait... the ESP8266 is a serial based WiFi adapter lol)
    A few Wemos D1's could easily solve your issues and would not take much effort to convert to

  8. #28
    Join Date
    Nov 2017
    Posts
    32
    Post Thanks / Like

    Default Re: Vixen 3 - Choppy performance / slow updates

    Quote Originally Posted by jchuchla View Post
    I don't think that would be as easy as it sounds on the surface. Though it might be possible.
    Yeah looking at it, it would get into creating universes and other details that I would spend a ton of time doing to match up. And may just be easier to do it through the display setup

    Code:
    <Module dataModelType="VixenModules.Output.E131.E131ModuleDataModel, E131" moduleType="771d7eba-662a-48d5-aedb-445c8708e878" moduleInstance="aeb87d1b-ae4d-4344-b558-f5de26aaac1a">
          <E131ModuleDataModel xmlns="http://schemas.datacontract.org/2004/07/VixenModules.Output.E131" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
            <ModuleInstanceId xmlns="">aeb87d1b-ae4d-4344-b558-f5de26aaac1a</ModuleInstanceId>
            <ModuleTypeId xmlns="">771d7eba-662a-48d5-aedb-445c8708e878</ModuleTypeId>
            <AutoPopulate>true</AutoPopulate>
            <Blind>false</Blind>
            <EventRepeatCount>0</EventRepeatCount>
            <EventSuppressCount>0</EventSuppressCount>
            <Multicast i:nil="true" />
            <OutputCount>0</OutputCount>
            <Priority>100</Priority>
            <Statistics>false</Statistics>
            <Unicast i:nil="true" />
            <Universes xmlns:a="http://schemas.datacontract.org/2004/07/VixenModules.Controller.E131">
              <a:UniverseEntry>
                <a:Active>true</a:Active>
                <a:EventRepeatCount>0</a:EventRepeatCount>
                <a:EventSuppressCount>0</a:EventSuppressCount>
                <a:Multicast i:nil="true" />
                <a:Size>510</a:Size>
                <a:Start>1</a:Start>
                <a:Ttl>64</a:Ttl>
                <a:Unicast i:nil="true" />
                <a:Universe>1</a:Universe>
                <a:seqNum>0</a:seqNum>
              </a:UniverseEntry>
            </Universes>
            <Warnings>false</Warnings>
          </E131ModuleDataModel>
        </Module>
        <Module dataModelType="VixenModules.Output.E131.E131ModuleDataModel, E131" moduleType="771d7eba-662a-48d5-aedb-445c8708e878" moduleInstance="677e35d8-9b57-4be8-a80d-27f6b014435e">
          <E131ModuleDataModel xmlns="http://schemas.datacontract.org/2004/07/VixenModules.Output.E131" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
            <ModuleInstanceId xmlns="">677e35d8-9b57-4be8-a80d-27f6b014435e</ModuleInstanceId>
            <ModuleTypeId xmlns="">771d7eba-662a-48d5-aedb-445c8708e878</ModuleTypeId>
            <AutoPopulate>true</AutoPopulate>
            <Blind>false</Blind>
            <EventRepeatCount>0</EventRepeatCount>
            <EventSuppressCount>0</EventSuppressCount>
            <Multicast>{C48A1450-EF58-426D-8FBB-080EF0A7BA8F}</Multicast>
            <OutputCount>0</OutputCount>
            <Priority>100</Priority>
            <Statistics>false</Statistics>
            <Unicast i:nil="true" />
            <Universes xmlns:a="http://schemas.datacontract.org/2004/07/VixenModules.Controller.E131">
              <a:UniverseEntry>
                <a:Active>true</a:Active>
                <a:EventRepeatCount>0</a:EventRepeatCount>
                <a:EventSuppressCount>0</a:EventSuppressCount>
                <a:Multicast>{C48A1450-EF58-426D-8FBB-080EF0A7BA8F}</a:Multicast>
                <a:Size>512</a:Size>
                <a:Start>0</a:Start>
                <a:Ttl>64</a:Ttl>
                <a:Unicast i:nil="true" />
                <a:Universe>1</a:Universe>
                <a:seqNum>29</a:seqNum>
              </a:UniverseEntry>
              <a:UniverseEntry>
                <a:Active>true</a:Active>
                <a:EventRepeatCount>0</a:EventRepeatCount>
                <a:EventSuppressCount>0</a:EventSuppressCount>
                <a:Multicast>{C48A1450-EF58-426D-8FBB-080EF0A7BA8F}</a:Multicast>
                <a:Size>512</a:Size>
                <a:Start>512</a:Start>
                <a:Ttl>64</a:Ttl>
                <a:Unicast i:nil="true" />
                <a:Universe>2</a:Universe>
                <a:seqNum>29</a:seqNum>
              </a:UniverseEntry>
              <a:UniverseEntry>
                <a:Active>true</a:Active>
                <a:EventRepeatCount>0</a:EventRepeatCount>
                <a:EventSuppressCount>0</a:EventSuppressCount>
                <a:Multicast>{C48A1450-EF58-426D-8FBB-080EF0A7BA8F}</a:Multicast>
                <a:Size>206</a:Size>
                <a:Start>1024</a:Start>
                <a:Ttl>64</a:Ttl>
                <a:Unicast i:nil="true" />
                <a:Universe>3</a:Universe>
                <a:seqNum>29</a:seqNum>
              </a:UniverseEntry>
    </Universes>

  9. #29
    Join Date
    Oct 2011
    Location
    Maryville, Illinois
    Posts
    1,708
    Post Thanks / Like

    Default Re: Vixen 3 - Choppy performance / slow updates

    Quote Originally Posted by Palmore View Post
    Just as an update.
    I hooked up PC #2 (light show PC)

    Here are screen caps with it running just a test Fade in / Fade out on the tree, All other controllers stopped / disabled.

    Attachment 41923

    Need less to say this is an older junk PC (Athlon II X4 620 at 2.6GHz) and 8GB of RAM, but its dedicated to just the lights (14% CPU usage during the vixen show)

    Here is a screen cap of the instrument panel, stopping the effects display, and resetting the counters.

    Attachment 41924

    The update output time is about the same 100ms~ just sending zero's

    Both cases I was using a generic Arduino MEGA 2560. I'm pretty sure the nano's I actually use in the show utilize the emulated serial BUS and not true FTDI hardware, I'm starting to fear that is one of my issues. Though I've seen others use Vixen / Arduinos and or Vixen / FPP / Arduino with out these issues.

    Once the Pi gets here and I can get some demos working with FPP, if the issue persists I may have to look into better Arduino hardware, or possibly an off the shelf legit pixel controller like the e1.31's mentioned.
    This certainly seems to indicate trouble getting the data out the serial port because when it is not playing that would be all it is doing. The delta of 54 ms shows it is late for the update along with no sleep time. Thus the controller is spending all of it's time trying to output the data. What is the channel count on that controller? I think your post said 410 Leds, so I would guess 1230 channels? At 50 ms that is 1230 channels * 8 bits per channel * 20 fps = 196,800 bits per second if my math is right. That does not include any stop bits, so you would be exceeding he bandwidth of the serial rate by a lot. If my thinking is right there, the slow down would be expected.

  10. #30
    Join Date
    Nov 2017
    Posts
    32
    Post Thanks / Like

    Default Re: Vixen 3 - Choppy performance / slow updates

    Quote Originally Posted by angus40 View Post
    A few Wemos D1's could easily solve your issues and would not take much effort to convert to
    It looks like that is an Arduino with the ESP8266 compat wifi built in, So I'd basically drop in the E1.31 code to it, convert all my displays to that ethernet protocol and be done eh?

Page 3 of 6 FirstFirst 12345 ... LastLast

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •