1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| var
LSystemTimes: TThread.TSystemTimes;
LCPUUsageAvailable: Boolean;
LTickReference, LTickFreq: Int64;
procedure CPUUsageInit();
begin
LCPUUsageAvailable := TThread.GetSystemTimes(LSystemTimes);
QueryPerformanceFrequency(LTickFreq);
QueryPerformanceCounter(LTickReference);
end;
procedure CPUUsage(const ATag: string);
var
Pourcent: Integer;
Tick: Int64;
begin
if LCPUUsageAvailable then
begin
QueryPerformanceCounter(Tick);
Pourcent := TThread.GetCPUUsage(LSystemTimes);
CPUUsages.Add(ATag, LSystemTimes, Pourcent, Round((Tick - LTickReference) / LTickFreq * 1000));
end;
end; |
Partager