procedure TForm1.Button2Click(Sender: TObject);
var
I: Integer;
LCount: Integer;
LFre: Int64;
CounterOld, CounterNew: Int64;
LOldTick, LNewTick: Cardinal;
begin
LCount := 0;
LOldTick := GetTickCount;
QueryPerformanceFrequency(LFre);
QueryPerformanceCounter(CounterOld);
for I := 0 to 1 * 1000 * 1000 * 1000 do
begin
Inc(LCount);
end;
QueryPerformanceCounter(CounterNew);
LNewTick := GetTickCount;
Label1.Caption := Format('Counter=%d, TickDiff=%d, NSec=%f', [
CounterNew-CounterOld, LNewTick - LOldTick, (CounterNew-CounterOld)/LFre * 1000 * 1000]);
ShowMessage(Label1.Caption);
end;
TickDiff越短,CPU计算速度越快
如果运行时间TickDiff相同, CounterNew-CounterOld相差越大,表示时间越精确,就表示CPU比较好。
var
I: Integer;
LCount: Integer;
LFre: Int64;
CounterOld, CounterNew: Int64;
LOldTick, LNewTick: Cardinal;
begin
LCount := 0;
LOldTick := GetTickCount;
QueryPerformanceFrequency(LFre);
QueryPerformanceCounter(CounterOld);
for I := 0 to 1 * 1000 * 1000 * 1000 do
begin
Inc(LCount);
end;
QueryPerformanceCounter(CounterNew);
LNewTick := GetTickCount;
Label1.Caption := Format('Counter=%d, TickDiff=%d, NSec=%f', [
CounterNew-CounterOld, LNewTick - LOldTick, (CounterNew-CounterOld)/LFre * 1000 * 1000]);
ShowMessage(Label1.Caption);
end;
TickDiff越短,CPU计算速度越快
如果运行时间TickDiff相同, CounterNew-CounterOld相差越大,表示时间越精确,就表示CPU比较好。