-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Maximum amount of universe or parameters #52
Comments
Hi, thanks for your interest in the MIDIMonster and thank you for the report. I pushed some updates to the ArtNet and sACN backends these last days and will probably release a v0.4 in the next few days. That includes some rate-limiting that should have been part of those backends for a long time. There may be some additional difficulties in running larger translations with Windows, as the network APIs are different. I'll try to look into that after 0.4 is out, until then I'd invite you to test with 0.4 once its out :) Thank you for providing an example configuration, I'll try to reproduce the problem here, too :) |
@cbdevnet Thank you for the quick answer. Is there something wrong with my config file or could it be simpler since I just want to convert full universe one protocol to another? |
I think the configuration is pretty OK, with 0.3 the amount of data output depends a lot on the number of channels that change, because there isn't a lot of "combination" going on yet. With the new rate-limiting commits to the ArtNet and sACN backends of the last few days, the transmit limit of about 44 packets per second that is recommended by the standard is kept, which carries with it the feature to combine multiple channel updates into one output frame. The To be fair, the last time I've done any amount of testing that went to the limits is a fair bit back when much of the core code was simpler. With a few thousand channel mappings, probably the internal channel routing code is exercised quite a bit, I might have to look into that fairly soon again as there is probably a lot of optimization potential in there. |
ok Thank you. I'll wait for updates then :) |
Commit 04494e4 changes the ArtNet and sACN backends to use local channel stores, as basic profiling showed that the core spent an inordinate amount of time searching the global channel registry. On my old i5, the following configuration and script (which is just spamming random values out on 8 universes every 10 milliseconds) uses about 60% CPU and generates 400 packets per second. Most of the time is spent routing events ( Configuration:
generator.lua function generate()
for chan=1,512 do
output("out" .. chan, math.random())
end
end
interval(generate, 10) |
I tried this new version on windows. Thank you for that great update. I still have issue which I investigate more. Depending on how many values are changing at the same time artnet output slow down or stop, but the software is not completely crashing. When I send 20 packet/s by universe with Resolume Arena playing a video that have a lot of black (so the values are not all changing at the same time) MidiMonster is also able to output 20 packet/s. Even there, prompt window keep logging "Instance X not enable for output (0 channel events)" With some video I could have at best 6 packets/s by universe. With a stroboscope video which is basically turning on and off all the value , artnet is just stopping but CPU usage is only 44%. I made a test config which is only for test purposes. I am monitoring artnet with Artnetominator software. [artnet a1] [artnet artnet1] [map] |
Hm, 20 packets per second sounds very low, it might be that Windows sockets have some additional limits, I'll try to find a Windows computer to test that. |
Well it's 20 packets by universe so that is making 160 packets by seconds total |
I am using MidiMonster 3.0 on Windows 10 64 bit. I am wondering what is the maximum amount of parameters or universe MidiMonster can handle. I'm trying ton convert 36 SACN Universe to 36 Artnet universes send to individual lighting fixtures. Best I could do is 7 Universes whitout MidiMonster crashing. I'v attached my current working config.
Thank you
monster.pdf
The text was updated successfully, but these errors were encountered: