da mein neues sandybridge system so prima läuft, wollte ich mal wissen wie es sich bei einigen spielen (insbes. gta 4) so schlägt.
nach nen bischen googlen hab ich mir diesen c#-code zusammengefrickelt und möchte den euch nicht vorenthalten. evntl. kann ja auch jemand von euch was damit anfangen.
ist eine einfache kommandozeilen app. am besten starten per
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;
namespace cpulog {
class cpulog {
static PerformanceCounter[] cpuCounter; // globaler PerformanceCounter
static int procCount;
static void InitialisierePerformanceCounter () // Initialisieren
{
procCount = Environment.ProcessorCount + 1;
cpuCounter = new PerformanceCounter[procCount];
for (int i = 0; i < procCount; i++) {
cpuCounter[i] = new PerformanceCounter ();
cpuCounter[i].CategoryName = "Processor";
cpuCounter[i].CounterName = "% Processor Time";
if (i == 0) {
cpuCounter[0].InstanceName = "_Total"; // "_Total" entspricht der gesamten CPU Auslastung, Bei Computern mit mehr als 1 logischem Prozessor: "0" dem ersten Core, "1" dem zweiten... }
}
else {
cpuCounter[i].InstanceName = (i - 1).ToString ();
}
}
}
static void GetCPUusage () // Liefert die aktuelle Auslastung zurück
{
// Console.Write (cpuCounter[0].NextValue ()); return;
for (int i = 0; i < procCount; i++) {
Console.Write (cpuCounter[i].NextValue());
Console.Write ("\t");
}
Console.Write ("\n");
}
static void Main (string[] args) {
InitialisierePerformanceCounter (); // Initialisieren
// foreach (var item in new System.Management.ManagementObjectSearcher ("Select * from Win32_ComputerSystem").Get ()) { Console.WriteLine ("Number Of Physical Processors: {0} ", item["NumberOfProcessors"]); }
Console.WriteLine ("Number Of Logical Processors: {0}", procCount -1);
while (true) {
GetCPUusage (); // CPU Auslastung in die Konsole schreiben
System.Threading.Thread.Sleep (1000); // 1 Sekunde warten
}
}
}
}