Sicher, dass 0 der gemittelte Wert ist? Ich verwende folgenden Code, um die CPU Auslastung auszulesen. Hatte da auch erst bisschen rumprobiert, ob ich GetCPUUsage mit 0 aufrufe oder mit 1 als Startkern, aber bei mir gibt es hiermit ein korrektes Ergebnis:
Delphi-Quellcode:
function GetCPUUsage: Double;
var
I: Integer;
Temp: Double;
begin
Result := 0;
try
untCpuUsage.CollectCPUData;
for I := 1 to untCpuUsage.GetCPUCount -1 do
begin
Temp := untCpuUsage.GetCPUUsage(I - 1) * 100;
if (Temp > 0) then
begin
Result := Result + Temp;
end;
end;
Result := Result / (untCpuUsage.GetCPUCount -1);
except
Result := 0;
end;
end;