Also: Habe mal Now etwas näher analysiert. Die Auflösung ist - meiner Meinung nach - 1 ms:
Delphi-Quellcode:
var
OldTime: TDateTime = 0.0;
OldTick: UInt64;
Times: TArray<TDateTime>;
begin
try
OldTick := GetTickCount64;
repeat
if Now <> OldTime
then
begin
Times := Times + [Now];
OldTime := Now;
end;
until GetTickCount64 > OldTick + 20;
WriteLn;
for var I := Low(Times)
to High(Times)
do
WriteLn(I:5, '
= ', FormatDateTime('
hh:nn:ss.zzz', Times[I]));
ReadLn;
except
on E:
Exception do
WriteLn(E.ClassName, '
: ', E.
Message);
end;
end.
Als Ergebnis erhalte ich z.B.:
Code:
0 = 12:14:49.512
1 = 12:14:49.513
2 = 12:14:49.514
3 = 12:14:49.515
4 = 12:14:49.516
5 = 12:14:49.517
6 = 12:14:49.518
7 = 12:14:49.519
8 = 12:14:49.520
9 = 12:14:49.521
10 = 12:14:49.522
11 = 12:14:49.523
12 = 12:14:49.524
13 = 12:14:49.525
14 = 12:14:49.526
15 = 12:14:49.527
16 = 12:14:49.528
17 = 12:14:49.529
18 = 12:14:49.530
19 = 12:14:49.531
20 = 12:14:49.532
21 = 12:14:49.533
22 = 12:14:49.534
23 = 12:14:49.535
24 = 12:14:49.536
25 = 12:14:49.537
Warum wird überall (z.B. SO) behauptet die Auflösung sei bestenfalls 16ms, eher 20ms???
Man sollte nie so viel zu tun haben, dass man zum Nachdenken keine Zeit mehr hat. (G.C. Lichtenberg)