Einzelnen Beitrag anzeigen

Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#9

AW: Windows.GetTickCount64 auch unter Windows XP?

  Alt 11. Okt 2017, 13:44
Sollte in etwa so aussehen:
Delphi-Quellcode:
threadvar
  High: UInt64;
  LastLow: Cardinal;

function _GetTickCount64: UInt64; inline;
var
  Low: Cardinal;
begin
  Low := GetTickCount;
  if (LastLow > Low) then
  begin
    High := High + $0000000100000000;
  end;
  LastLow := Low;
  Result := High or Low;
end;
Ist etwas weniger als halb so performant wie die native Funktion, aber immer noch deutlich schneller als mit MSDN-Library durchsuchenQueryPerformanceCounter. Wenn du garantiert nur einen Thread hast, kannst du das threadvar auch durch var ersetzen - dann ist die Funktion in etwa gleich schnell wie die native Variante.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat