Orologi della piattaforma XFA

Unità: HPDFXFAPlatform

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

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

HPDFXFAMonotonicMilliseconds restituisce millisecondi nativi crescenti per i budget di tempo trascorso; il suo valore non è un timestamp di calendario

HPDFXFAHighResolutionTicks e HPDFXFAHighResolutionFrequency forniscono un orologio nativo a intervalli e la sua frequenza in tick al secondo; dividere le differenze di tick per la frequenza per ottenere i secondi trascorsi

Windows usa GetTickCount64 e QueryPerformanceCounter; Linux usa il suo orologio monotono nativo con una frequenza ad alta risoluzione in nanosecondi

HPDFXFAWallClock registra l'epoca Unix UTC corrente in millisecondi e un RandomSeed derivato dall'orologio usato dal journal deterministico degli eventi; il seed non è una sorgente casuale crittografica

I valori wall-clock di Windows provengono da FILETIME e quelli di Linux da CLOCK_REALTIME; i fallimenti dell'orologio nativo sollevano EOSError

Il replay degli script consuma i valori di epoca e seed registrati invece di leggere nuovi valori wall-clock per le valutazioni registrate in precedenza