Hallo zusammen,
in meinem Spiel Villa Rustica bin ich auf eine recht komische Angelegenheit gestoßen: Bisher hatte ich mehrere Elemente des Spiels in einem Timer untergebracht (wollte ich sowieso ändern). Nun habe ich bemerkt, dass der Timer pausiert, wenn die Maus bewegt wird (natürlich wurde die .Enabled Property des Timers dort nicht geändert). In dem MouseMove Event sind mehrere Schleifen vorhanden, so dass dort der Main-Thread ausgelastet ist. Ich habe das ganze dann auf einen neuen Thread ausgelagert, bei dem ich mithilfe von Threading.Thread.Sleep() den gleichen "Effekt" wie bei einem Timer erzeuge - So klappt das ganze.
Meine Frage: Warum klappt es in einem neuen Thread, wenn der Timer in VB.Net (meines Wissens) doch auch in einem extra Thread läuft?
Einen schönen Abend noch,
TheoTechnic
in meinem Spiel Villa Rustica bin ich auf eine recht komische Angelegenheit gestoßen: Bisher hatte ich mehrere Elemente des Spiels in einem Timer untergebracht (wollte ich sowieso ändern). Nun habe ich bemerkt, dass der Timer pausiert, wenn die Maus bewegt wird (natürlich wurde die .Enabled Property des Timers dort nicht geändert). In dem MouseMove Event sind mehrere Schleifen vorhanden, so dass dort der Main-Thread ausgelastet ist. Ich habe das ganze dann auf einen neuen Thread ausgelagert, bei dem ich mithilfe von Threading.Thread.Sleep() den gleichen "Effekt" wie bei einem Timer erzeuge - So klappt das ganze.
Meine Frage: Warum klappt es in einem neuen Thread, wenn der Timer in VB.Net (meines Wissens) doch auch in einem extra Thread läuft?
Einen schönen Abend noch,
TheoTechnic