Deine Art zu Warten nennt man
busy waiting und die kostet CPU Leistung.
Du musst deinen Prozess mit Sleep auch mal etwas schlafen legen oder einen Timer benützen
Delphi-Quellcode:
// Immer nur alle x Millisekunden eine Messung. Sonst erzeugt die
// Messung zuviel CPU Last und verfälscht so das Ergebnis
// --> zu grosser Rucksack!
if (GetTickCount - ACT_GTK) >= x then
begin
end
else //
Sleep(50); // neu