Часы платформы 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
Повтор скриптов потребляет записанные значения эпохи и сида, а не читает новые значения настенных часов для ранее записанных вычислений