Zitat:
Der Thread rennt endlos ohne Pause und rendert irgend etwas? Was rendert er? Wann ändert sich etwas bei der Darstellung? Reicht es nicht, das Rendern nur dann anzuwerfen, wenn es etwas *Neues* zu rendern gibt, d.h. wenn sich der Output ändern wird? Reicht es nicht, nur z.B. 20x pro Sekunde zu Rendern?
Dieser Thread prüft und verwaltet alle Aktionen welche mein wrapper zur verfügung stellt.
Er schickt also die aktuelle position im Stream das StreamHandle die gebufferten Wasapi Samples etwaige änderungen
der Bildgröße usw...
Alle 20x pro Sek. reicht da bei weitem nicht aus schließlich will ich nicht mit 10Frames in der sekunde rendern.
Das sollte schon in realzeit geschehen. Denn ein Beaterkennung die 5 Sekunden später auftritt als sie eigentlich sollte
ist sinnlos. Ist also nicht nur eine frage des Gehörs sondern auch der Augen.
Ist wie mit deiner Pizza!
Man isst nicht nur sondern schmeckt auch noch.
Zitat:
Ach: Wieso ist das eigentlich ein 'high CPU mistake'? Wenn schon ein 'mistake', dann eher von Dir bzw. dem Design.
Von mir? NÖ wenn dann vom Developer der für den bereich Music/Listen zuständig ist.
Ah jo mein englisch ist halt unter der Gürtellinie hätte auch schreiben können 'high CPU Usage' wenn es dir mehr zusagt.
Zitat:
Da wir nicht wissen, was Großartiges mit dem 'Graphics g' anstellst, kann man da auch nicht weiter ansetzen.
Na ja ich denke hier liegt ein Design fehler vor.
Man hätte hier nicht sleepMS definieren sollen sondern damit den Thread warten lassen..
Warum nicht anstelle von
Code:
int sleepMS = RenderVisualization(g);
Code:
Thread.Sleep(RenderVisualization(g));
Somit hätte man auch den crash entgegenwirken können wenn beim beenden der Anwendung
die Form nicht mehr existiert und dann versucht 'g' zu initialisieren.
aber das darf jetzt nicht mehr mein problem sein.
gruss