Comment puis-je utiliser asynchrone pour augmenter WinForms la performance?

j'ai été faire quelques processeur lourde tâche et chaque fois que je démarre l'exécution de cette commande mon winform gèle que je ne peux même pas le déplacer jusqu'à ce que la tâche est terminée. j'ai utilisé la même procédure à partir de microsoft, mais rien ne semble être changé.

mon environnement de travail est visual studio 2012 avec .net 4.5

private async void button2_Click(object sender, EventArgs e)
{
    Task<string> task = OCRengine();          
    rtTextArea.Text = await task;
}

private async Task<string> OCRengine()
{
    using (TesseractEngine tess = new TesseractEngine(
           "tessdata", "dic", EngineMode.TesseractOnly))
    {
        Page p = tess.Process(Pix.LoadFromFile(files[0]));
        return p.GetText();
    }
}
  • On dirait que vous n'êtes pas encore familier avec ce qui attend les ne. Je vous suggère de lire certains de base introductions. Attendre ne pas planifier des threads, par exemple.