Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Zeitmessung(ms) auf mehreren Stellen nach dem Komma (https://www.delphipraxis.net/100868-zeitmessung-ms-auf-mehreren-stellen-nach-dem-komma.html)

Kuonrat 4. Okt 2007 23:35


Zeitmessung(ms) auf mehreren Stellen nach dem Komma
 
Mit QueryPerformanceFrequency und QueryPerformanceCounter ist es ja möglich, in hoher Auflösung die Prozesse zu messen.

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var
  a, b, c: Int64;
begin
  QueryPerformanceFrequency(a);
  QueryPerformanceCounter(b);
 
  //Befehlesfolge deren Zeitdauer bestimmt werden soll

  QueryPerformanceCounter(c);
 
  Caption := IntToStr((c - b) * 1000 div a); //Ausgabe in ms
end;
Da mir aber nur diese Variante bekannt ist, würde es mich interessieren, ob man auch die Zeit mit Angaben nach dem Komma machen kann. Oft sind nämlich die Ergebnisse bei mir 0ms. Ich verstehe nämlich noch nicht ganz, wie diese Rechnung mit div a funktioniert. Ich weiß nur, das a, in dem Fall hier, die Anzahl der "Ticks" pro ms sind. *shrug*

Amateurprofi 4. Okt 2007 23:48

Re: Zeitmessung(ms) auf mehreren Stellen nach dem Komma
 
FloatToStr((c - b) * 1000 / a)

Kuonrat 4. Okt 2007 23:56

Re: Zeitmessung(ms) auf mehreren Stellen nach dem Komma
 
Ja, aber ich kann ja auf einen Integer keine Divison anwenden, weil der keine Nachkommastellen besitzt. Aber ich kann aus dem Int64 auch kein Real machen, weil QueryPerformanceCounter verlangt ein Int64.

Amateurprofi 5. Okt 2007 00:04

Re: Zeitmessung(ms) auf mehreren Stellen nach dem Komma
 
doch, kannst du.
der "/" Operator ist auch bei Integerwerten anwendbar. das Ergebnis ist ein Float-Wert

Kuonrat 5. Okt 2007 00:09

Re: Zeitmessung(ms) auf mehreren Stellen nach dem Komma
 
Ach na klar, jetzt funktioniert es. Danke.. Bin schon etwas müde hehe.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:37 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz