Horloges de plateforme XFA

Unité : HPDFXFAPlatform

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

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

HPDFXFAMonotonicMilliseconds renvoie des millisecondes natives croissantes pour les budgets de temps écoulé ; sa valeur n'est pas un timestamp calendaire

HPDFXFAHighResolutionTicks et HPDFXFAHighResolutionFrequency fournissent une horloge d'intervalle native et sa fréquence en ticks par seconde ; divisez les différences de ticks par la fréquence pour obtenir les secondes écoulées

Windows utilise GetTickCount64 et QueryPerformanceCounter ; Linux utilise son horloge monotone native avec une fréquence haute résolution en nanosecondes

HPDFXFAWallClock enregistre l'époque Unix UTC courante en millisecondes et un RandomSeed dérivé de l'horloge, utilisé par le journal d'événements déterministe ; la seed n'est pas une source aléatoire cryptographique

Les valeurs d'horloge murale Windows proviennent de FILETIME et les valeurs Linux de CLOCK_REALTIME ; les échecs d'horloge natifs lèvent EOSError

Le replay de scripts consomme les valeurs d'époque et de seed enregistrées au lieu de lire de nouvelles valeurs d'horloge murale pour les évaluations déjà enregistrées