Frage

Ich möchte extra-CPU-Zyklen verwenden, um einen Teil meiner eigenen Verarbeitung durchzuführen, und ich habe mich gefragt, ob mich jemand in die richtige Richtung verweisen könnte, wie ich damit anfangen kann.

War es hilfreich?

Lösung

Ich würde vorschlagen, ein Programm zu schreiben, das kontinuierlich ausgeführt wird (stellen Sie sicher, dass es gelegentlich blockiert) und dann einfach auf eine niedrige Priorität einstellen. Der Betriebssystemplaner (Windows/*Nix) sollte den Rest automatisch verarbeiten.

Andere Tipps

Sie können zusätzliche CPU -Zyklen verwenden, indem Sie ein Programm schreiben, das im Hintergrund ausgeführt wird.

Sie können die CPU -Verwendung überprüfen, um herauszufinden, wann der Computer im Leerlauf ist (aber es ist nicht unbedingt eine gute Idee), oder Sie können auf Maus-/Tastaturaktivitäten zuhören.

Verwenden Sie den folgenden Code, um die CPU -Verwendung in C#zu überprüfen:

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();
}

Um nach Tastatur- oder Mausaktivität zu überprüfen, müssen Sie einen Tastatur- / Maushaken verwenden. sehen hier für Anweisungen.

Um den Hintergrundarbeiter zu initialisieren, müssen Sie Fortschrittsberichterstattung aktivieren und Ihre Ereignishandler anschließen: generasacodicetagpre.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top