Ich mache eine Anwendung, die Lesen von Bilddateien und Anzeigen in einem von mir selbst entworfenen Benutzersteuerelement enthält. Diese oder andere CPU-intensive Aktivität neigt dazu, den GUI-Glitch zu stören und/oder nicht mehr zu reagieren.Wie zu verhindern CPU-intensive Aktivität hängen oder verlangsamen die GUI in .NET
Ich bin mir ziemlich bewusst, dass ich diese CPU-intensive Aktivitäten in einem anderen Thread setzen sollte, aber bis jetzt habe ich keinen Artikel oder Beispielprojekt gefunden, das mir eine klare Anleitung zum Umgang mit diesen Problemen geben würde.
Kann mir jemand zeigen, wo ich diese Informationen finde?
Vielen Dank im Voraus.
MTH
Die Vorschläge zur Verwendung von BackgroundWorker sind gut, aber bedenken Sie auch, dass das Lesen von Bilddateien normalerweise nicht "CPU-intensiv" ist, sondern I/O-intensiv. Das ändert nichts an Ihrer Motivation, den UI-Thread zu entfernen, aber Sie sollten den Unterschied im Auge behalten. –
@Will Dean - sicher, aber alle E/A-Aktionen werden gefolgt von der Verarbeitung von Daten, die empfangen wurde und das, was CPU beschäftigt, ich sage nicht, dass ich wie IOM verzichten möchte, aber ich nehme es als weniger relevant. – MoreThanChaos