Zegary platformy XFA

Jednostka: HPDFXFAPlatform

type
  TXFAPlatformTime = record
    EpochMilliseconds: UInt64;
    RandomSeed: Cardinal;
  end;

function HPDFXFAMonotonicMilliseconds: UInt64;
function HPDFXFAHighResolutionFrequency: Int64;
function HPDFXFAHighResolutionTicks: Int64;
function HPDFXFAWallClock: TXFAPlatformTime;

HPDFXFAMonotonicMilliseconds zwraca rosnące natywne milisekundy dla budżetów czasu; jej wartość nie jest znacznikiem czasu kalendarzowym

HPDFXFAHighResolutionTicks i HPDFXFAHighResolutionFrequency dostarczają natywny zegar interwałów i jego częstotliwość tików na sekundę; podziel różnice tików przez częstotliwość, aby uzyskać upływnięte sekundy

Windows używa GetTickCount64 i QueryPerformanceCounter; Linux używa natywnego zegara monotonicznego z nanosekundową częstotliwością wysokiej rozdzielczości

HPDFXFAWallClock nagrywa bieżącą epokę UTC Unix w milisekundach i pochodzące z zegara RandomSeed używane przez deterministyczny dziennik zdarzeń; ziarno nie jest kryptograficznym źródłem losowości

Wartości zegara ścianowego Windows pochodzą z FILETIME, a Linux z CLOCK_REALTIME; niepowodzenia natywnego zegara podnoszą EOSError

Replay skryptów konsumuje nagrane wartości epoki i ziarna zamiast odczytywać nowe wartości zegara ścianowego dla wcześniej nagranych ewaluacji