Kleiner Test - alle 512 Kanäle faden - wovon hängt es ab, wie flüssig das funktioniert?

  • Servus zusammen,


    ich habe mir grade mal den Spaß gemacht, steuerungstechnisch wirklich an die Grenze zu gehen, um mal zu sehen, wie sich die DMX-Ausgabe im "Grenzfall" verhält. Dazu habe ich stumpf 512 Dimmer definiert und die auf nen Submaster gelegt. Ergebnis: Faden mit aktiviertem uDMX-Plugin quasi unmöglich, ohne immer noch seehr sehr stockend. Habs dann auch nicht mit dem DE-Interface probiert, weils ja eh schon generell ohne Interface ins stocken kommt. Bei nem "einfachen" Effekt (immer 512 Kanäle an/aus mit ca. 1s Einblendzeit) dasselbe. Man sieht eigentlich nur das "Ergebnis", sprich an oder aus, wenn grad die Haltezeit kommt.


    Mich persönlich würde jetzt interessieren, inwieweit sich da mit anderer Hardware was reißen lässt. Ich hab das jetzt bewusst mal nur mit dem 1,6GHz Singlecore-Netbook gefahren, aber was mich dabei erstaunt hat, war, dass die CPU-Last nie wirklich über 50% ging. Man sollte doch meinen, dass die auf Anschlag rennt, wenn der PC am Ende ist? Der Balken in DMXC war dagegen auf Anschlag, aber der hat ja mit der CPU-Last erstmal nix zu tun.


    Mir ist natürlich klar, dass das so, wie ichs gemacht hab, in der Realität nicht vorkommt. Da dimmt keiner 512ch rauf und runter. Aber bei sehr großen Lichtanlagen kanns ja sehr wohl vorkommen, dass viele Kanäle "in Bewegung" sind, und dann sogar noch mit vielen unterschiedlichen Effekten. Theoretisch kann man ja sogar 1024 Kanäle steuern, ich war ja grade erst bei der Hälfte angelangt.


    Was übersehe ich also? Liegts an der Hardware? An der Software? An irgendeinem Faktor, den ich nicht eingerechnet habe, und der in der Realität selbst bei vollem Einsatz zweier Universen nicht in der Form vorkommt wie im Test?


    So kommts mir fast vor...anders würden ja riesige Projekte z.B. in MADRIX mit vielen Universen (ich erinnere mich an irgendwen, der hier mal diverse Nodes mit ins Summe über 8000 Kanäle im Einsatz hatte) nicht funktionieren.



    Gruß Stephan

  • Kanalübersicht offen gehabt? Die frisst CPU


    DMXControl 2 kann kein multithreading.
    Wenn die CPU zwar nur einen Kern hat, aber z.B. Hyper Threading macht (z.B. Atom <- Netbook CPU), ist es zwar immer noch nur ein Kern (Register, Stackpointer und Program Counter sind doppelt, wenn ich das noch richtig in Erinnerung habe), das BS kann diesen aber als zwei logische Kerne nutzen. Windows TaskManager zeigt bei HT glaube ich trotzdem nur 1 Kern an, TOP unter Linux 2.
    Da DMXControl aber immernoch nur einen Kern nutzen kann, liegt der andere logische Kern aus Sicht von Windows "brach" und zeigt desshalb nur 50% Last an, obwohl eigentlich die CPU (fast) voll ausgelastet ist.
    Du kannst HT ja mal im Bios deaktivieren, dann wird 100% angezeigt.


    Dennis

  • Bingo, Kanalübersicht war offen. Wollte ja sehen was sich so tut ;)


    Bzgl. CPU hab ich nicht geschaut, obs wirklich 50% sind, aber deine Erklärung klingt absolut einleuchtend. Werde dann mit nem Dual Core PC (da sollte ja dann hoffentlich ein Kern voll genutzt werden) und geschlossener Kanalübersicht rumspielen. ;)

  • OK, da kann man dann wirklich sehr schnell die CPU-Last nach oben schießen sehen, selbst ohne Kanalübersicht. Damit ist dieses Rätsel also geklärt. Aufwendige Projekte = ordentlich Leistung bereithalten. ;)


    Wobei ja dann selbst der aktuellste QuadCore-Eimer nicht wirklich was bringt, oder? Man fährt ja dann mit einer flotten Einkern-CPU genauso gut, wenn der PC nur fürs Licht gedacht ist?!

  • Genau. Wie gesagt, Dual / Quad / was weiss ich Core, bringt wenig.
    Der Kern bei der HT CPU ist obwohl Windows das so anzeigt nicht 50% sondern annährend 100% ausgelastet. Lediglich die doppelt vorhandenen Kompenenten werden nicht genutzt (dadurch wird der aus Sicht von Windows nicht genutzt)
    Soweit die Theorie. In der praxis laufen neben dem DMXControl Thread noch ca. > 800 weitere Threads allein von Windows, die mal mehr mal weniger die CPU beanspruchen und den zweiten logischen Kern nutzen. Ich schätze mal die CPU Last schwankt so zwischen 50 und 54%.
    Da machen dann natürlich mehrere Kerne schon Sinn, aber schneller wird der Single Thread von DMXControl dadurch auch nicht.


    DMXControl 3 wird multithreaded sein. Da gilt dann je dicker die CPU desto besser.
    Bei 500 Dimmern (sooo ungewöhnlich ist das nun auch wieder nicht) sollte aber auch noch etwas Budget für angemessene Hardware übrig sein, eine Netbook CPU zählt da nicht dazu :)


    Dennis

  • Hallo,

    Windows TaskManager zeigt bei HT glaube ich trotzdem nur 1 Kern an


    Nope. Windows zeigt auch alle virtuellen CPU Kerne an. Warum DMXC nur 50% CPU Last produziert hat, kann ich mir auch nicht erklären, aber wie gesagt Windows zeigt alle (auch die virtuellen) Kerne an und man kann sie aus Programmern heraus direkt ansprechen. Ich könnte das jetzt auch mit entsprechenden Bildern des Datenblattes meines Laptop-Prozessors und des Taskmanagers belegen, aber ich hoffe, ihr glaubt mir das auch so.


    Nichts desto trotz hab auch ich mich in einigen meiner Posts dazu geäußert und Forenmitgliedern geraten, doch auch potente Hardware einzusetzen, wenn sie sich beklagen, dass es ruckelt. Ich meine es muss ja kein Gamer-PC für 2000€ sein. Aber ein PC mit einem Prozessor aus der Intel Core-Reihe (oder vergleichbares von AMD) sollte es schon sein.


    Außerdem macht es bei heutigen Prozessoren sehr wohl etwas aus, ob sie 1 oder 4 Kerne haben, obwohl die Anwendung nicht multicorefähig ist. Grund zumindest bei Intel ist eine eingebaute Selbstübertacktfunktion. Zur Erklärung: Kritisch bei einem Prozessor ist nicht, dass er nicht eine entsprechende Leistung bringen könnte. Aktuelle Prozessoren könnten schneller sein, als sie tatsächlich betrieben werden. Grund dafür ist die beim Rechnen produzierte Abwärme. Und wir reden hier von sehr viel Abwärme!!!! Es kommt natürlich auf den Prozessor an, aber einige Prozessoren und Grafikkartenchips produzieren so viel Abwärme wie eine gleichgroße Herdplatte!!!!!! Diese Wärme muss natürlich das Kühlsystem sicher abführen können. Daher hat jeder Prozessor einen sogenannten TDP-Wert (Thermal Design Power) auf den das Kühlsystem ausgelegt sein sollte. Dieser Wert gibt (zumindest meistens) an, wieviel Verlustleistung bzw. Wärme (in Watt) ein Prozessor maximal produzieren kann. Und hier kommt der Knackpunkt: Wenn ein Quadcore-Prozessor gerade nur einen Kern benutzt, reizt er den TDP-Wert nur zu einem kleinen Teil aus, weil ein Kern natürlich weniger Abwärme produziert, als z.B. 4 Kerne. Desshalb übertackten sich aktuelle Intel Core i... Prozessoren selbst, wenn weniger als die maximale Kernanzahl aktiv ist. AMD-CPUs machen das glaube ich auch, da bin ich mir aber nicht sicher. Natürlich kommt es auf den Prozessor an (manche übertackten sich mehr, andere weniger), aber hier kann man schon sagen, dass 4 Kerne besser sind als ein Singlecore-Prozessor mit vergleichbarer Taktfrequenz, weil der Quadcore-Prozessor mit nur einem aktiven Kern auch mal deutlich schneller tackten darf. Zum Vergleich: Mein Desktop-PC hat einen i5 (Quadcore) mit 3,3GHz. Wenn nur ein Kern aktiv ist, darf der eine Kern bis auf 3,7GHz hochtackten. Lange Rede, kurzer Sinn: Bei aktuellen Multi-Core-Prozessoren kann man nicht mehr pauschal sagen, dass sie bei Single-Core-Anwendungen keine Vorteile (oder sogar Nachteile) bringen.
    Viele Güße
    JP

  • Quote from fisl

    Windows TaskManager zeigt bei HT glaube ich trotzdem nur 1 Kern an


    Nope. Windows zeigt auch alle virtuellen CPU Kerne an. Warum DMXC nur 50% CPU Last produziert hat, kann ich mir auch nicht erklären, aber wie gesagt Windows zeigt alle (auch die virtuellen) Kerne an und man kann sie aus Programmern heraus direkt ansprechen.

    Stimmt, hatte ich falsch in Erinnerung. Hab gerade einen Sceenshot auf der Intel Seite gefunden. Müssten also bei Stephan, bei aktiviertem HT, zwei Kerne angezeigt werden.
    Meine Erklärung für die 50% sollte aber trotzdem zutreffen. Also im Prinzip nur ein Darstellungsfehler.


    Dennis

  • 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.