Meldung: GraphicDevice is Disposed

  • Liebes Forum,



    ich benutze DMXControl 3 jetzt seit fast zwei Jahren auf zwei Installationen, aktuell 3.2.2.


    Weil das automatische Starten nicht vernünftig funktioniert und zu lange dauert, laufen beiden Computer dauernd = 24/7. Nur die Bildschirme werden zusammen mit der Stromversorgung der DMX-Lampen ein- und ausgeschaltet. Sie sind angeschlossen über Displayport -> DVI.


    Das war auch kein Problem mit den verwendeten Fujitsu Esprimo E920.


    Jetzt habe ich der einen Installation einen neuen Computer spendiert, der auch optimal dafür geeignet scheint: Lenovo ThinkCentre M70q Gen 2.


    Das funktioniert auch so lange prima, bis man dem Bildschirm die Stromversorgung ausschaltet. Wenn man die dann wieder einschaltet, ist der Fullscreen-Modus vom DMXControl auf 3 x 2 cm zusammengeschrumpft und in einem der angezeigten Fenster von DMXControl steht „GraphicDevice is Disposed“:



    Dann muss ich in den „Window-Mode“ schalten und dann wieder in den „Fullscreen-Mode“ und das gewünschte Vollbild ist wieder da.


    Hat das schon jemand gehabt ?


    Grüße

    Axel

  • Hallo,

    das passiert immer dann, wenn DMXControl 3 keine Grafikkarte mehr hat, auf die es ausgeben kann. Hintergrund ist, dass wir hier eigentlich eine Spiele-Engine verwenden, um einige sehr ressourcenfressende grafische Darstellungen (u.a. Stage View, Input Assignment, Programmer) effizienter auf der Grafikkarte statt der CPU laufen zu lassen. Wenn dein Computer aber offensichtlich aus Effizienzgründen die Grafikkarte komplett kickt, solange die Bildschirme vom Strom getrennt sind, kann die Spiele-Engine nicht mehr auf die Grafikkarte schreiben und schmiert ab. Das erkennt DMXControl 3 und meckert entsprechend mit der Disposed-Warnung (früher ist DMXControl 3 dabei komplett abgekachelt). Das Problem ist, dass da DMXControl 3 wenig machen kann, wenn sozusagen die Grafikkarte unter den Füßen weggerissen wird. Du könntest mal schauen, ob du dieses Abschalten der Grafikkarte verhindern kannst. Langfristig sollte sich das auch bessern, weil wir langfristig (Horrizont irgendwann zwischen DMXControl 3.3.1 und 3.4.X) weg von der Spiele-Engine wollen. Aber das dauert noch Jahre.... :saint:

    Viele Grüße

    JP

  • Hallo auch von meiner Seite,


    nachdem du ja nun die technischen Hintergründe kennst, würde ich mal die Frage stellen - weil ich es auf deinem Screenshot gesehen habe: ist es für die Festinstallation zwingend erforderlich, dass die Stage View und der Programmer dauerhaft sichtbar sein müssen? Hast du mal probiert, was passiert, wenn du darauf verzichtest?


    Die anderen beiden Fragen an dieser Stelle: nutzt du in deinem Projekt eine eigene Gobozuweisung? Sprich warst du im Gobo-Affinity-Fenster und hast dort Änderungen vorgenommen? Wenn nein, dann schaue dir mal an, was wir in unserer DMXControl 3.2.2 Release Show ab Minute 22:19 gezeigt haben.


    External Content youtu.be
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.


    Die zweite Frage wäre: kennst du den Weg mit einem eigenen Vorlageprojekt zu arbeiten? Darüber lässt sich auch ein komplett fertiges Projekt bei jedem Start der Software automatisch laden. So habe ich das zum Beispiel im York in Kassel gelöst, sodass der PC hier von vorn herein nach dem Wechsel auf DMXControl 3 ebenfalls nicht dauerhaft in Betrieb sein muss.


    Viele Grüße, Stefan.

  • Hallo JP,


    vielen Dank für die ausführliche Erklärung.


    > sehr ressourcenfressende grafische Darstellungen (u.a. Stage View, Input Assignment, Programmer)

    Dazu zählt wahrscheinlich auch der Softdesk, oder ?


    Ich habe jetzt mal ein paar Einstellungen ausprobiert und das Problem erfolgreich verloren, dh. es funktioniert jetzt wieder prima.


    Ich werde mich aber morgen nochmal auf den Weg machen und erforschen, welche Einstellung das war.


    Danke und viele Grüße

    Axel

  • Hallo Stepfan,


    vielen Dank auch an dich.


    > dass die Stage View und der Programmer dauerhaft sichtbar sein müssen?

    Nein, natürlich nicht.


    > nutzt du in deinem Projekt eine eigene Gobozuweisung? Sprich warst du im Gobo-Affinity-Fenster

    Nein, das habe ich nicht benutzt.


    > kennst du den Weg mit einem eigenen Vorlageprojekt zu arbeiten?

    Ja, das mache ich auch, es dauert aber trotzdem 30 Sekunden, bis das komplett läuft.


    Wie bereits gesagt, habe ich den Fehler gerade "verloren", werde aber erforschen, woran es genau gelegen hat.


    Grüße

    Axel

  • Dazu zählt wahrscheinlich auch der Softdesk, oder ?

    Theoretisch ja, praktisch aber nein, denn der Softdesk nutzt schon die Technologie, zu der wir langfristig mit DMXControl 3 insgesamt wechseln wollen. Diese nennt sich WPF, was ein Framework von Microsoft für die Darstellung von Benutzeroberflächen ist (genauer eines von zwei Haupt-Frameworks, um grafische Anwendungen mit C# zu erstellen). Das ist ebenfalls unglaublich schnell (teilweise sogar schneller als unsere Umsetzung mit der Spiele-Engin) und kümmert sich selbst um die Darstellung, auch wenn mal die Grafikkarte umschaltet. Der Softdesk in DMXC 3.2.2 ist eines der ersten Fenster, das schon in WPF ist. Der Timecode-Player der kommenden 3.3 wird dann auch in WPF sein (nachdem er u.a. auch mit der Spiele-Engin einmal aufgebaut wurde und das an Performanceproblemen gescheitert ist), genauso wie das überholte Executor-Fenster (und noch ein - zwei weitere Elemente in und um DMXControl 3). Dann werden Schritt für Schritt die anderen Fenster folgen, bis wir insgesamt bei WPF sind (von bisher 3 Frameworks parallel).

    Viele Grüße

    JP

  • P.S.: weil ich es erst gerade sehe:

    > nutzt du in deinem Projekt eine eigene Gobozuweisung? Sprich warst du im Gobo-Affinity-Fenster

    Nein, das habe ich nicht benutzt.

    Dann kannst du die mal aus deinem Projekt rauslöschen, wie ich das in dem Video anspreche, was Stefan gepostet hat. Damit sollte die Ladedauer deutlich kürzer werden, weil DMXControl 3 nicht mehr etwa 150MB Config-Daten laden muss, die letztendlich unnötig sind (weil du es nicht nutzt).

  • So - ich habe jetzt nochmal einige Kombinationen ausprobiert und wenn keines dieser Fenster (Stage View, Input Assignment, Programmer) geöffnet ist, tritt das Problem auch nicht auf.


    Vielen Dank für den Tipp.


    Weiterhin ist es wohl sinnvoll, diese Einstellung auszuschalten:


    Zum Thema von Stefan:


    Die Affinity.xml ist bei mir nicht groß:


    Grüße

    Axel