Часы платформы XFA

Модуль: HPDFXFAPlatform

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

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

HPDFXFAMonotonicMilliseconds возвращает возрастающие нативные миллисекунды для бюджетов затраченного времени; это значение — не календарная метка времени

HPDFXFAHighResolutionTicks и HPDFXFAHighResolutionFrequency дают нативные часы интервалов и их частоту в тиках в секунду; разделите разность тиков на частоту, чтобы получить прошедшие секунды

Windows использует GetTickCount64 и QueryPerformanceCounter; Linux — свои нативные монотонные часы с наносекундной высокоточной частотой

HPDFXFAWallClock записывает текущую эпоху Unix UTC в миллисекундах и выведенный из часов RandomSeed, используемый детерминированным журналом событий; сид — не криптографический источник случайности

Значения настенных часов Windows берутся из FILETIME, Linux — из CLOCK_REALTIME; сбой нативных часов вызывает EOSError

Повтор скриптов потребляет записанные значения эпохи и сида, а не читает новые значения настенных часов для ранее записанных вычислений