Relojes 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 devuelve milisegundos nativos crecientes para presupuestos de tiempo transcurrido; su valor no es un timestamp de calendario
HPDFXFAHighResolutionTicks y HPDFXFAHighResolutionFrequency aportan un reloj de intervalos nativo y su frecuencia en ticks por segundo; divide las diferencias de ticks por la frecuencia para obtener segundos transcurridos
Windows usa GetTickCount64 y QueryPerformanceCounter; Linux usa su reloj monótono nativo con una frecuencia de alta resolución en nanosegundos
HPDFXFAWallClock registra el epoch Unix UTC actual en milisegundos y un RandomSeed derivado del reloj que usa el journal determinista de eventos; la semilla no es una fuente de aleatoriedad criptográfica
Los valores de wall-clock de Windows vienen de FILETIME y los de Linux de CLOCK_REALTIME; los fallos del reloj nativo lanzan EOSError
El replay de scripts consume los valores de epoch y semilla grabados en lugar de leer nuevos valores de wall-clock para las evaluaciones grabadas previamente