More than 16 universes?

  • Hi,


    Or, is there a way to interface more than one instance of DMXC and use a common Stage View?

    there is no way to have that and we will also not implement such a common Stage View function (because of multiple problems which arise from that). However, DMXC could possibly become the ability to support more than 16 Universes. The interesting question is for me, why you need that :) ?

  • I am theorizing in doing patches with many more pixel-mapped features and the ability to scale larger show concepts.


    For Example, a Christmas Tree Concept that uses 64+ universes of individual pixel lights.


    And the way DMXC is able to efficiently manage a large amount of fixtures with many parameters is the reason I wonder if more than 16 universes is possible.


    Plus, with higher-end PC hardware, and Art-Net and sACN abilities, I feel that many more universes are possible in DMXC. Although I am not quite sure how the Kernel and Umbra and other backend functions processes that decoding.


    It's something I have been wondering about for quite some time now.

  • Ah ok. So then a little background to that :) To change the actual number of universes is not that big of a deal (as a developer). The numbers of available DMX universes are in fact two constants for DMX-In and DMX-Out, which are defined during development time and those numbers are then baked into the released executable. However, those numbers (especially the DMX-Out) came from some measuring we did in the past and we will not change that if we are not sure, that DMXControl 3 can handle that. Unfortunately, there are currently multiple problems beside the actual calculation performance, why we will not change the number of universes: The major one is, that DMXControl 3 is a 32bit application and we can not change that easily (but we are working on that). The problem with the 32bit application is, that the different parts of DMXControl 3 can only allocate ~1.1 - 1.5GB of RAM each, even if you have 16, 32 or 64GB. Thus, a large amount of devices can not be handled, because there is just not enough memory for that (which leads to an Out of Memory Exception (OoM)). This problem is true also for the other parts of DMXControl 3, which are not optimized for such high amount of devices.


    To have some current tests for that, I changed the number of universes to 64 in my development environment and tried to fill all universes with Generic RGBWAUV-devices (those are currently available in my environment). All tests were done with detached debugger so this is the performance of DMXControl 3 without interference. I was able to create ~5000 devices when I ran into the out of memory exception. Down to 32 Universes, I managed to add 2500 devices (which use a bit more than 29 universes). I was even able to save and load this project and run two effects on the device group, which produced ~31200 DMX values per second (see both the images).



    However, I had multiple issues in this test. I ran multiple times in the out of memory exception e.g. when I wanted to change the arrangement of the devices to a wider block. There were also some other crashes. In addition, the 31200 DMX values per second sound like a lot. But if you do the math, you will see, that this value should be even higher for a proper usage. With those two effects I controlled 5 out of the 6 DMX channels (R, G, B, W and A). So 31200 divided by 5 channel divided by 2500 devices gives us ~2.5 frames per second per device while my CPU is "sleeping":


    So as a conclusion, you see that DMXControl 3 currently does not scale very good in terms of performance with such a high amount of devices. To be fair, this was not our focus yet. With matrix devices, we can manage ~20 frames per second with 16 universes but I have not tested yet, if this holds also for those 32 universes. But I can not say, if we will ever support more than 16 universes due to those performance issues.

    im Falle eines Falles klebt Gaffa einfach alles, denn Gaffa ist dein Freund und Helfer :thumbup:

    Edited once, last by JPK ().

  • Wow, thank you for going out of your way to put that concept in a full testing environment.


    I really hope that someday a 64 bit environment for DMXC can be possible. The workflow is just so fantastic, and I really support the project so much!


    I look forward to keeping you up to date with any High-Scale concepts I can think of myself that may help in an efficient future development of the software and future features.

  • Wow, thank you for going out of your way to put that concept in a full testing environment.


    I really hope that someday a 64 bit environment for DMXC can be possible. The workflow is just so fantastic, and I really support the project so much!


    I look forward to keeping you up to date with any High-Scale concepts I can think of myself that may help in an efficient future development of the software and future features.

    Dont quote me on that, but: The biggest issue is outdated libraries, mainly the library used for the GUI. The team is currently switching over to a new GUI Library, window by window. Thats also why certain bugs, e.g. font color issues in the MIDI Window werent directly fixed - they will only be fixed when that entire part of DMXC is rewritten in the new GUI Library.

  • Dont quote me on that, but: The biggest issue is outdated libraries, mainly the library used for the GUI. The team is currently switching over to a new GUI Library, window by window. Thats also why certain bugs, e.g. font color issues in the MIDI Window werent directly fixed - they will only be fixed when that entire part of DMXC is rewritten in the new GUI Library.

    Yes, that is the case. In fact, one major ToDo we have is this replacement. The 4 windows Stage View, Programmer, Input Assignment and Network Overview have to be replaced in order to get the GUI to 64bit. In the kernel, there are some other thinks to do for that.


    The workflow is just so fantastic, and I really support the project so much!

    That is nice that you like it :)


    I look forward to keeping you up to date with any High-Scale concepts I can think of myself that may help in an efficient future development of the software and future features.

    We already have some ideas. But they have to fit into the concept of DMXControl 3. However, we will first start with a weal multi-GUI setup. After that, lets see, what the time will bring us :)