Forum: Win32/Win64 API (native code)
by Gausi,
19. Feb 2008
Gegenfrage: Sind die 10ms ein verlässlicher konstanter Wert oder nur eine grobe Richtlinie? Gestern abend wurden aus den 31200 mal 78000, heute morgen sind es mal wieder 156001 und sporadisch 312002 (also genau das doppelte). Diese Werte mal 100 sind dann 3.120.000ns bis 15.600.100ns, also 3-15ms - das könnte dann die Timerauflösung sein.
Wenn der Algorithmus in einem Zeitfenster durchläuft,...
Forum: Win32/Win64 API (native code)
by Gausi,
18. Feb 2008
...mit anderen Worten: Das Ding bringt mir gar nichts. Auch gut - dann muss ich die Ausreißer halt rausdiskutieren.
Forum: Win32/Win64 API (native code)
by Gausi,
18. Feb 2008
Ist die Auflösung bei dem Ding nicht 100ns, also Zehntel Mikro-Sekunden? :gruebel:
Wenn ich deinen Code so abändere, also ohne die abschließende Konvertierung nach TFileTime
function GetUsageTime: Int64;
var
ftDummy: TFileTime;
ftKernelTime, ftUserTime: TFileTime;
begin
GetProcessTimes(GetCurrentProcess, ftDummy, ftDummy, ftKernelTime, ftUserTime);
Result :=...
Forum: Win32/Win64 API (native code)
by Gausi,
18. Feb 2008
Ich häng mich hier mal hintendran, weil ich dasselbe Problem habe, und gerade damit nicht weiterkomme. Ich möchte bestimmen, wieviel Zeit eine Berechnung benötigt, und QueryPerformanceCounter scheint nicht auszureichen (da gibts manchmal Ausreißer, die ich mir nur dadurch erklären kann, dass ein anderer Prozess gerade rumgewerkelt hat). Mein Code sieht so aus:
function GetUsageTime: Int64;...