Is there a pixel count limitation?

Ask a generic question about the usage of QLC+, not related to a particular operating system
User avatar
SPOPATT
Posts: 103
Joined: Wed Mar 13, 2019 3:34 am
Real Name: Jacob

This is more of a general usage question. I have quite a few of those LED pixels. I believe it’s in the 4,500 range. I have noticed that some animations crash the software after a short time.

Is this just due to a limitation of the software not knowing what to do with that number of pixels or is this behavior that isn’t typical? I am able to share any details that could assist in resolving the issue.

As always, I very much appreciate the work on this project and I am currently preparing a $500 donation as a thank you for the several years I have used this program. I understand it is a labor of love and it’s very generous to allow it to be free but I would honestly pay for this software especially if it would assist in building up a team. Thank you very much.
User avatar
GGGss
Posts: 3052
Joined: Mon Sep 12, 2016 7:15 pm
Location: Belgium
Real Name: Fredje Gallon

Jacob,

For this to be deciphered you'll have to come up with at least a version, O.S., a CPU and memory data.
There was reported usage of QLC+ with up to 30universes of pixels. From vague memory, it was a Win machine with an i7 processor running.
How are your pixels arranged/driven by?
All electric machines work on smoke... when the smoke escapes... they don't work anymore
User avatar
SPOPATT
Posts: 103
Joined: Wed Mar 13, 2019 3:34 am
Real Name: Jacob

I very much appreciate the reply. I am relieved to hear it isn't just a limitation.

Currently the machine I am running is an i7 machine with 16gb of memory. I had another thread where I discussed a slow start up. I mentioned the crashing but figured it may be easier to document a solution if a new thread was created. The details of my setup can be found here: viewtopic.php?f=32&t=16081&p=67688#p67688 as well as the file.
User avatar
sandinak
Posts: 191
Joined: Mon Apr 03, 2017 5:40 pm
Location: Yorktown, VA
Real Name: Branson Matheson
Contact:

This years show, have 12 stage steps that are 64x8 that I run across 48U (6144 Leds) + 2 windows with 4U (~600 Leds) + 2 more U for practicals without any problem with RGBMatrixes. I run 4.12.6 on a MacBook Pro i5 with 16g of memory no problem. See: https://sandsite.org/downloads/evo22-test.jpg and Current Showfile: https://sandsite.org/downloads/tpihab.qxw
User avatar
SPOPATT
Posts: 103
Joined: Wed Mar 13, 2019 3:34 am
Real Name: Jacob

sandinak wrote: Sat Feb 25, 2023 12:38 pm This years show, have 12 stage steps that are 64x8 that I run across 48U (6144 Leds) + 2 windows with 4U (~600 Leds) + 2 more U for practicals without any problem with RGBMatrixes. I run 4.12.6 on a MacBook Pro i5 with 16g of memory no problem. See: https://sandsite.org/downloads/evo22-test.jpg and Current Showfile: https://sandsite.org/downloads/tpihab.qxw

That’s beautiful! That’s awesome. Thank you for sharing. I will use your qxl file and see what you may be doing differently than I am. How old is your file?
User avatar
sandinak
Posts: 191
Joined: Mon Apr 03, 2017 5:40 pm
Location: Yorktown, VA
Real Name: Branson Matheson
Contact:

its current … this years show; first performance is Monday :)
User avatar
SPOPATT
Posts: 103
Joined: Wed Mar 13, 2019 3:34 am
Real Name: Jacob

My file is probably 9 years old at this point. I've tried a few different computers and they all seem to crash when I switch animations for the group of 12 matrixes I have set up. I'm so confused by it. Surely it is something stupid but I cannot see it. I have a custom light with pixels and it doesn't crash at all.
User avatar
SPOPATT
Posts: 103
Joined: Wed Mar 13, 2019 3:34 am
Real Name: Jacob

I have made some progress on troubleshooting this issue. I noticed two buttons pressed together will cause a crash after a short time. The longest it lasts for me is roughly five minutes.

See attachments. Maybe another set of eyes would help me find it.
Attachments
Screen show with the boxes being the two buttons that cause a crash when used together. The idea is to have the logo on top the animation.
Screen show with the boxes being the two buttons that cause a crash when used together. The idea is to have the logo on top the animation.
The Logo labeled "Dash Logo" on the light
The Logo labeled "Dash Logo" on the light
LR D.png (639 Bytes) Viewed 1944 times
Dash Room Lights copy.qxw
Current File
(1.88 MiB) Downloaded 110 times
User avatar
sandinak
Posts: 191
Joined: Mon Apr 03, 2017 5:40 pm
Location: Yorktown, VA
Real Name: Branson Matheson
Contact:

Reviewing your file I see a few things i'd change:
  • Create fixtures for your LEDs or even just the individual rows .. right now you're creating an entry per pixel and that's expensive to store that way. An example fixture at here It will take some time to create and/or you can generate using a tool; however once it's done its WAY more efficient.
  • When you create your RGB matrixes use multiple columns per row .. vs 1 at a time or 1 column with multiple rows. See
    Screenshot 2023-02-25 at 11.10.45.png
    you can see that it stores things MUCH more efficiently when you do it the first way.
If you decide to rebuild this I have a tool that may help. https://github.com/sandinak/qlcplus-tools ... I have a tool there called 'expand_fixture_features' that can do two things to make life alot easier:
  • build color scenes for each fixture group automagically; if you look in the file i attached before you'll see in fixtures I have Colors etc.. that's all auto generated See:
    Screenshot 2023-02-25 at 11.21.59.png
  • export the fixture groups to an .xls you can then edit layout (I find it much easier on LARGE sets), and then import them back to the showfile.
feel free to PM me, happy to help.
User avatar
SPOPATT
Posts: 103
Joined: Wed Mar 13, 2019 3:34 am
Real Name: Jacob

The reason I did individual pixels is because the matrixes are round and I couldn't figure out a way to make QLC+ recognize the shape unless I manually added the pixels.

I suppose I could make a custom fixture but I'll be honest, I am not sure where I would start with that. I've attached a photo of the shape of one of the lights I have made and the "Dash Logo" on it I reference in my post above.

Your method would allow this?
Attachments
Screenshot 2023-02-25 at 10.39.41 AM.png
User avatar
sandinak
Posts: 191
Joined: Mon Apr 03, 2017 5:40 pm
Location: Yorktown, VA
Real Name: Branson Matheson
Contact:

Right so for that fixture I'd do this:
Screenshot 2023-02-25 at 11.45.03.png
LR-test.qxw
(28.93 KiB) Downloaded 105 times
User avatar
SPOPATT
Posts: 103
Joined: Wed Mar 13, 2019 3:34 am
Real Name: Jacob

Interesting. So I spent literal weeks adding these pixels in one by one and the result is I created a file that is extremely inefficient and prone to crashing.

So I am to essentially make 18 one column rows and then arrange them in a S shape (due to their wiring) in the fixture group editor (to put the fixture together).

So instead of QLC+ having to lift 256 individual fixtures per light multiplied by 12 so 3072 individual fixtures, this would make the entire array 216 fixtures.

If I am understanding this correctly, you have opened my eyes.
User avatar
sandinak
Posts: 191
Joined: Mon Apr 03, 2017 5:40 pm
Location: Yorktown, VA
Real Name: Branson Matheson
Contact:

Interesting. So I spent literal weeks adding these pixels in one by one and the result is I created a file that is extremely inefficient and prone to crashing.
I'd say .. yes .. that's probably the case.
So I am to essentially make 18 one column rows and then arrange them in a S shape (due to their wiring) in the fixture group editor (to put the fixture together).
No .. because you don't hvae a "square" but a diamond, i'd make an RGBMatrix for each row with the right length. You can reverse the LEDs when you put them in the fixture group ( would be nice if there were ways to do that automagically, but thats one of the reasons I wrote the export/import tool :) Essentially what i did to make that
  • Read your file and counted the fixtures per row
  • Created individual RGBMatrix entries with 1 row and the count of columns. For the repeats I cheated and did multiple rows, made it quicker
  • Create a new Fixture Group with the size of the matrix but only add the first row
  • use the "right-arrow" on the right to add the rows at the position I need.
  • to reverse the rows that need it .. ( my student figured this out ) you can take a pixel and drag it to it's opposite and it will switch em in place.
User avatar
sandinak
Posts: 191
Joined: Mon Apr 03, 2017 5:40 pm
Location: Yorktown, VA
Real Name: Branson Matheson
Contact:

For Bouns points, to clean up your file:
  • Using RGBMatrix will create a FixtureGroup for each row (LR1-1 Row 1), but you really only want the final Fixture Group (LR1)
  • Once you create the final Fixutre group LR1...
  • *remove* the fixtures from the temp groups (LR1-1 for instance ), can do this in bulk ( don't delete ;)
  • *delete* the now empty "row" fixture groups from the set
User avatar
SPOPATT
Posts: 103
Joined: Wed Mar 13, 2019 3:34 am
Real Name: Jacob

Interesting. So I spent literal weeks adding these pixels in one by one and the result is I created a file that is extremely inefficient and prone to crashing.
I'd say .. yes .. that's probably the case.
[/quote]

Well, that is the cost of learning I suppose. I'll be better in the long run. Oh well. That's life. Cannot advance without failure.
sandinak wrote: Sat Feb 25, 2023 5:08 pm
No .. because you don't hvae a "square" but a diamond, i'd make an RGBMatrix for each row with the right length. You can reverse the LEDs when you put them in the fixture group ( would be nice if there were ways to do that automagically, but thats one of the reasons I wrote the export/import tool :) Essentially what i did to make that
I believe I understood but may have worded it improperly. Regardless, this explanation cleared it up. I appreciate that.

I am trying to redo this right now as I have an event at the location where the lights are tonight and it would be nice to be able to test this. I do appreciate the help.

Do you by chance know how QLC+ renders the animations for these matrixes? Does it do it by pixel or by group of pixel? That would make sense why it was so inefficient the way I was doing it before if it had to carry all those animations individually like that.
sandinak wrote: Sat Feb 25, 2023 5:15 pm For Bouns points, to clean up your file:
  • Using RGBMatrix will create a FixtureGroup for each row (LR1-1 Row 1), but you really only want the final Fixture Group (LR1)
  • Once you create the final Fixutre group LR1...
  • *remove* the fixtures from the temp groups (LR1-1 for instance ), can do this in bulk ( don't delete ;)
  • *delete* the now empty "row" fixture groups from the set
Boy, do I wish I had further questions for you. You've been a wealth of knowledge.
User avatar
sandinak
Posts: 191
Joined: Mon Apr 03, 2017 5:40 pm
Location: Yorktown, VA
Real Name: Branson Matheson
Contact:

Well, that is the cost of learning I suppose.
I like to teach my students "you have to learn how to fail, to learn how to succeed" and I promise you when I started with this tool there was plenty of fail :)
Do you by chance know how QLC+ renders the animations for these matrixes?
i've written a few RGBScripts, and I know that the Javascript passes each frame back to the controlling software as a matrix; what happens after that is @mcallegari magic ;) A good simple example is the One by One script: https://github.com/mcallegari/qlcplus/b ... nebyone.js where it re-renders each pixel one at a time.
Boy, do I wish I had further questions for you. You've been a wealth of knowledge.
One of the reasons I have stuck with this software, and FOSS in general, is the give-back attitude of the members. There are some VERY smart people on this board that take alot of their time to give great support for the tool, use cases and corner cases. So while I appreciate the compliment... most of my knowledge comes from the many years of support of this group.
User avatar
SPOPATT
Posts: 103
Joined: Wed Mar 13, 2019 3:34 am
Real Name: Jacob

I’ve used the software for roughly eight years but I didn’t get serious with custom lighting until more recently.
User avatar
SPOPATT
Posts: 103
Joined: Wed Mar 13, 2019 3:34 am
Real Name: Jacob

Okay so I have made the change. It has helped with performance a lot. A LOT. It is not longer crashing in the same location but I have noticed it crashes if I do a particular thing and I will explain it to see what you think.

So these lights are round matrixes. I put that D logo on them as mentioned above. I drew this in an MSPaint equivalent so it would be the correct number of pixels and QLC+ grabs that file from the resources folder it sits in. I can put this logo up without issue. I can put an animation like a Plasma or Gradient animation no problem. I put up that logo with the animation and after a few minutes, QLC+ crashes. Any ideas? Would crash logs assist? What would help troubleshoot? I am going to be near the machine later today so I can pull anything.
User avatar
sandinak
Posts: 191
Joined: Mon Apr 03, 2017 5:40 pm
Location: Yorktown, VA
Real Name: Branson Matheson
Contact:

So, you can try running with debug turned up and see what it says:

Code: Select all

qlcplus -d 3 -g qlc.log -o {file} 
Can you share your new file to see if I can duplicate the failures?
User avatar
SPOPATT
Posts: 103
Joined: Wed Mar 13, 2019 3:34 am
Real Name: Jacob

sandinak wrote: Thu Mar 02, 2023 1:47 pm So, you can try running with debug turned up and see what it says:

Code: Select all

qlcplus -d 3 -g qlc.log -o {file} 
Can you share your new file to see if I can duplicate the failures?
I am not near the machine at the moment but I have a copy of the updated file so I will attach it here. Sometimes it crashes within seconds... other times it can be as long as 10-15 minutes.

I appreciate your assistance. Very much so.
Attachments
Dash Room Lights LR Redo.qxw
(1.19 MiB) Downloaded 103 times
Post Reply