Klockor på XFA-plattformen

Enhet: HPDFXFAPlatform

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

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

HPDFXFAMonotonicMilliseconds returnerar växande native millisekunder för budgetar på förfluten tid; värdet är ingen kalendertidsstämpel

HPDFXFAHighResolutionTicks och HPDFXFAHighResolutionFrequency ger en native intervallklocka och dess frekvens i ticks per sekund; dividera tickdifferenser med frekvensen för att få förflutna sekunder

Windows använder GetTickCount64 och QueryPerformanceCounter; Linux använder sin native monotona klocka med högupplöst frekvens i nanosekunder

HPDFXFAWallClock registrerar aktuell UTC Unix epoch i millisekunder och en klockbaserad RandomSeed som den deterministiska händelsejournalen använder; seedet är ingen kryptografisk slumptalskälla

Väggklockvärden på Windows kommer från FILETIME och på Linux från CLOCK_REALTIME; native klockfel ger EOSError

Vid skript-replay används inspelade epoch- och seedvärden i stället för att läsa nya väggklockvärden för redan inspelade utvärderingar