RAM-Verbrauch sorgt für GUI-Absturz

  • Hallo liebe alle,


    als IT-Mensch bin ich super begeistert von der unglaublichen Vielfalt, die DMXC 3.3.1 bietet. Meine Leidenschaft, selbst viel Flexibilität - hier in Form von Softdesks und IA-Logik und umfangreicher Midi-Steuerung - einzubauen, kann ich hier total nachgehen.

    Das Projekt ist bewusst sehr umfangreich konzipiert, sodass es derzeit z.B. ca. 250 ParameterMaster gibt, die die Grundlage für eine super tolle Steuerung per Softdesk und Midi sind (>40 SDs sind vorhanden für viele Gerätegruppen und Funktionalitäten).

    Die DMXC-GUI ist aber mit dem Wachsen des Projekts recht fragil geworden - es bleiben immer wieder Ansichten von SDs und IA leer; die GUI muss dann per Windows-Taskmanager beendet und neugestartet werden.

    Vorhin wurde z.B. gar nicht mehr die DMXC-Menüzeile eingeblendet und auch nicht die roten Balken oben rechts, wo man die Aktivitätenlast sehen kann.

    Mittlerweile beeiflusst es die Entwicklungsarbeit enorm.

    Gemäß meiner kurzen Recherche konnte ich feststellen, dass das Projekt bei Start einen RAM-Verbrauch von <500MB hat. Mit Nutzung von SDs + IA + Bühnenansicht kommt spürbar etwas Verbrauch hinzu, aber vertretbar (ich habe bewusst aus Performance-Gründen mehrere kleine Bühnenansichten).


    Sobald nun aber die Master-Ansicht geöffnet wird, schlägt der RAM-Verbrauch an die 1GB-Marke und die GUI beginnt, sich dem Absturz zu nähern.

    Das Schließen der Master-Ansicht gibt den beanspruchten RAM leider nicht wieder frei.


    Frage:

    Kann auf einfachem Wege eine Möglichkeit gefunden werden, dass beim Öffnen der Master-Ansicht sich nicht grundsätzlich alle Master öffnen (mit ColorMaster und GroupMaster und PositionMaster dürften es bald an die 700 sein im Projekt), sondern dann man aktiv die gewünschten Master auswählt?

    Wäre es ein denkbare Herangehensweise, in einer kommenden (Unter-)Version das Öffnen der Masterauswahl auf eine bestimmte Master-Untergruppe zu beschränken? Dazu müsste es natürlich erst die Möglichkeit geben, Master in Gruppen organisieren zu können.


    Eckdaten zur PC-Hardware:

    - Asus NUC 14 Pro Plus mit Intel Core Ultra 9 185H 16 Kerne, 32GB DDR5-RAM 5600MHz

    - zwei FHD-Bildschirme


    Beste Grüße

    Nora 🍀

  • Hallo!

    Ich würde mal die provakante Frage stellen: warum müssen es (aktuell) so viele Parameter-Master sein? Machen davon welche das gleiche und könnten eigentlich zusammengefasst werden? Gleiches gilt für die Softdesks und auch die Group-Master. Gerade letztere deaktiviere ich zum Beispiel in meinen Projekten immer bei den Device Groups, wo ich weiß, dass ich diese nicht / nie nutzen werde.

    Kurzum: so lange die GUI noch als 32bit-Anwendung läuft, wird diese Grenze mit den 1GB bleiben und die GUI sich so verhalten wie sie sich aktuell verhält. Und dieser Status wird noch einige Zeit andauern, bis eine Umstellung möglich wird. Genauere Gründe sind dazu auch schon im Forum zu finden.

    Stefan

  • Lieber Stefan,


    herzlichen Dank für die schnelle Rückmeldung 🙏

    Dass die Ursache des Verhaltens auf die 32-Bittigkeit zurückzuführen ist, liegt auf der Hand (war für mich nicht erwähnenswert).

    Befürchtet hatte ich beim Verfassen bereits, dass die Frage nach dem Sinn für Teile meines Projekts kommt - deshalb hatte ich lange hier nicht darüber geschrieben, weil ich nur ungern Menschen nach dem Sinn ihrer Projekte frage und diese Frage allgemein nicht verstehe.

    Dass sich die Situation so ganz grundlegend nicht ändern lässt, verstehe ich natürlich als IT-Mensch (Programmierung / Scripting).


    Meine Frage für eine kurzfristige Umgehung war eigentlich, ob es eine Möglichkeit gibt, dass nicht sämtliche Master beim Öffnen der Master-Ansicht geladen werden, sondern diese eher leer öffnet und man die Master aktiviert, die man braucht. Ich denke da möglicherweise an eine Config-Datei, die man ändern könnte - gibt es sowas?


    Im "Nicht-Erstellungsalltag" ist das Problem ja eher weniger präsent, da die Master nie direkt genutzt werden, sondern nur für Schieber in Softdesks oder zur Werteübertragung in IA.

  • Wenn du aber erklärst, was du wie erreichen möchtest, können wir / ich ggf. auch noch Tipps für alternative Wege geben. Deswegen hatte ich ja schon gefragt, ob es vielleicht Master gibt, die in deinem Projekt eigentlich nahezu das Gleiche machen und ob es sich damit die Möglichkeit ergibt, Dinge in einem gewissen Rahmen wieder zusammenzufassen.

    Meine Frage für eine kurzfristige Umgehung war eigentlich, ob es eine Möglichkeit gibt, dass nicht sämtliche Master beim Öffnen der Master-Ansicht geladen werden, sondern diese eher leer öffnet und man die Master aktiviert, die man braucht.

    Im Falle der Group-Master kannst du wie gesagt für jede Device Group festlegen, ob ein Group Master generiert werden soll oder nicht. Bei allen anderen Mastern ist es so, dass diese im Master-Fenster aufgeführt werden, sobald sie im Projekt benötigt werden.

  • Was für dich evtl. eine alternative sein könnte, wären die Executoren, speziell Limit/Temp Fader. Die können häufig auch ähnliche Szenarien abbilden. Ich nutze inzwischen zu 90% die Executoren und weniger die Parametermaster in meinen Projekten.

    Ich entwickel mir gerade auch ein neues Standardprojekt, wo ich für midi Sachen auschschließlich über Executoren gehe. Buttons/Fader. Damit bin ich deutlich schneller unterwegs, als auf der Baustelle im Input Assignemt rum zu docktorn.

    Befürchtet hatte ich beim Verfassen bereits, dass die Frage nach dem Sinn für Teile meines Projekts kommt - deshalb hatte ich lange hier nicht darüber geschrieben, weil ich nur ungern Menschen nach dem Sinn ihrer Projekte frage und diese Frage allgemein nicht verstehe.

    Das find ich lustig :D

    Wenn man vorher schon weiß, dass der Klugscheißer Modus direkt getriggert wird :)


    Grüße :)