DE IF steigt aus bei zu hoher Geschwindigkeit

We proudly present: The release of DMXControl 3.3.3!


On September 29, 2026, we held our release show for DMXControl 3.3.3. During our usual “hour-long” session, we showed you all the new features in this version and what it now has to offer.
Read all about it in the corresponding news article: We proudly present: The release of DMXControl 3.3.3!


  • Hallo,

    danke, dass ihr euch kurz für mein Problem Zeit nehmt!

    Ich habe mir das DMX Interface aufgebaut, und das funktioniert auch wunderbar, wenn man ein paar einzelne Befehle rausschickt.
    Sobald ich jedoch viel hintereinander rausschicke (z.B. für einen Farbübergang eines LED-PARs), steigt das Modul irgendwie aus.

    Zuerst flackert die blaue USB-LED noch wie wild und leuchtet dann plötzlich konstant.
    Ab da werden keine Befehle mehr übertragen.

    Ich nutze VB.NET als Ansteuerung, genau wie es im mitgelieferten Beispiel (USBDMX_TestAppVbNet.zip) beschrieben ist.

    Gibt es eine maximale Schreibrate, mit der ich das Interface "befüttern" darf?
    Ich wollte es alle 20ms durchführen, und auch wirklich nur die Kanäle, die sich geändert haben.

    Vielen Dank für eure Mithilfe!

    Liebe Grüße
    Andi

  • Noch ein ergänzender Hinweis:
    Wenn ich die Software ordnungsgemäß beende und neustarte (CloseInterface() und OpenInterface(), etc.), funktioniert es wieder, bis eine Weile schnell Befehle hintereinander geschickt werden...

  • Haste es denn mal mit z.B. alle 40 millisekunden probiert ? Ich hab mir nen FX5 gekauft daher kann ich zum DE Interface im selbstbau wenig sagen allerdings sollten 40 ms meiner Meinung nach aureichen. 25 Bilder pro Sekunde reichen ja auch um nen Video Top flüssig dazustellen. Vielleicht solltest du auch einfach mal dein programm posten und jemand der nen Interface hat testet es dann einfach. Dann weisst du mindestens schonmal obs an deinem IF liegt.

    Gruß Christoph

  • Gibt es eine maximale Schreibrate, mit der ich das Interface "befüttern" darf?
    Ich wollte es alle 20ms durchführen, und auch wirklich nur die Kanäle, die sich geändert haben.

    Eigentlich gibt es die nicht. Du bekommst ja von der dll einen Pointer auf das byte array zurück. Da kannst du so oft Daten reinkopieren, wie du willst. Die Jungs von DE kümmern sich selber darum, wie oft und dass nur geänderte Blöcke gesendet werden.

    Code?

    Dennis

  • vielleicht schreibt er einfach so oft das die datenmenge in dem byte array zu gross wird und dann der puffer im interface überläuft ? Sprich das interface die daten nich so schnell wegbekommt ? Du könntest auch einfach mal mit dmxc testen ob das damit problemlos läuft sprich einfach mal 20 effekte gleichzeitig anstellen die dann ans DE liefern und schauen obs abschmiert.

    Gruß Christoph

  • Vielen Dank bereits für die zahlreichen Antworten!

    Habe mal das gesamte VB.NET (2010) - Projekt hochgeladen:
    http://www.afrix.de/stuff/DMXLightControl.zip
    Passwort: dmxcontrol

    Hab es gestern erst angefangen, daher ist es auch noch nicht wirklich kommentiert & Co.

    Was ich seitdem festgestellt habe:
    Das o.g. Problem tritt nicht nur bei hohen Geschwindigkeiten auf, sondern wahrscheinlich nach einer festen Anzahl von Signalwechseln. Also wenn die Geschwindigkeit langsamer ist, bricht er eben erst später ab. Als ob irgend ein Speicher überlaufen würde oder ähnliches.

    Ich hoffe, ihr könnt mir weiterhelfen.

    Liebe Grüße & Danke,
    Andi

  • also als erstes fällt mir das hier auf:

    Code
    inArrPtr = GCHandle.Alloc(DMXIn)
            outArrPtr = GCHandle.Alloc(DMXOut)


    Benutz mal die überladene Alloc Methode und übergib GCHandleType.Pinned. Sonst wird nämlich GCHandleType.Normal benutzt, und der GC kann das Array trotzdem fröhlich rumschieben.

    Dennis

  • Hey Dennis,

    du bist genial!
    Da wäre ich ewig nicht draufgekommen, es tut!!!

    Im originalen VB-Beispiel ist dieser Teil irgendwie auch nicht drin, da tut's komischerweise aber.
    Naja, evtl. kann das ja mal noch jemand im mitgelieferten VB.NET-Beispiel anpassen.

    Vielen Dank dir für deine Mühe!!!

    Liebe Grüße
    Andi

    P.S.: Den Code hab ich wieder vom Netz genommen.

  • Souko April 9, 2018 at 7:27 PM

    Added the label DE Interface
  • Newly created posts will remain inaccessible for others until approved by a moderator. The last reply was more than 365 days ago, this thread is most likely obsolete. It is recommended to create a new thread instead.