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