Je veux dupliquer le pliage (utilisez des cycles de processeur supplémentaires)

StackOverflow https://stackoverflow.com/questions/2162808

  •  23-09-2019
  •  | 
  •  

Question

Je veux utiliser des cycles extra-CPU pour faire une partie de mon propre traitement, et je me demandais si quelqu'un pouvait me diriger dans la bonne direction sur la façon de commencer à ce sujet?

Était-ce utile?

La solution

Je suggère d'écrire un programme qui s'exécute en continu (assurez-vous qu'il bloque de temps en temps), puis de le définir simplement à une priorité faible. Le planificateur de système d'exploitation (Windows / * Nix) doit gérer automatiquement le reste.

Autres conseils

Vous pouvez utiliser des cycles CPU supplémentaires en écrivant un programme qui s'exécute en arrière-plan.

Vous pouvez vérifier l'utilisation du processeur pour savoir quand l'ordinateur est inactif (mais ce n'est pas nécessairement une bonne idée), ou vous pouvez écouter l'activité de souris / clavier.

Pour vérifier l'utilisation du processeur en C #, utilisez le code suivant:

float cpuUsage;    //Between 0 and 100
using (var cpu = new PerformanceCounter("Processor", "% Processor Time", "_Total")) {
    cpu.NextValue();    //First call gives wrong values
    cpuUsage = cpu.NextValue();
}

Pour vérifier l'activité du clavier ou de la souris, vous devrez utiliser un clavier / crochet de souris; voir ici pour les instructions.

Pour initialiser le travail d'arrière-plan, vous devez activer la déclaration d'avancement et connecter vos gestionnaires d'événements:

// Enable progress reporting
backgroundWorker1.WorkerReportsProgress = true;

// Hook up event handlers
backgroundWorker1.DoWork += backgroundWorker1_DoWork;
backgroundWorker1.RunWorkerCompleted += backgroundWorker1_RunWorkerCompleted;
backgroundWorker1.ProgressChanged += backgroundWorker1_ProgressChanged;

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top