Clocks de plataforma XFA

Unit: HPDFXFAPlatform

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

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

HPDFXFAMonotonicMilliseconds retorna milissegundos nativos crescentes para orçamentos de tempo decorrido; seu valor não é um timestamp de calendário

HPDFXFAHighResolutionTicks e HPDFXFAHighResolutionFrequency fornecem um clock nativo de intervalos e sua frequência em ticks por segundo; divida diferenças de ticks pela frequência para obter segundos decorridos

O Windows usa GetTickCount64 e QueryPerformanceCounter; o Linux usa seu clock monotônico nativo com uma frequência de alta resolução em nanossegundos

HPDFXFAWallClock registra a epoch Unix UTC atual em milissegundos e um RandomSeed derivado do clock, usado pelo journal determinístico de eventos; a seed não é uma fonte de aleatoriedade criptográfica

Valores de wall-clock do Windows vêm de FILETIME e os do Linux de CLOCK_REALTIME; falhas de clock nativo disparam EOSError

O replay de scripts consome os valores registrados de epoch e seed, em vez de ler novos valores de wall-clock para avaliações previamente registradas