Funciones de sincronización de Windows 7: comprensión de GetSystemTimeAdjustment
Como observó, los resultados del uso de la función GetSystemTimeAdjustment en Windows 7 pueden ser desconcertantes. Para comprenderlo mejor, respondamos sus preguntas:
Pregunta 1: Corrección de la suposición
Su suposición es generalmente correcta. Si la hora del sistema se sincroniza periódicamente, no esperaría ningún cambio o cambios en múltiplos del incremento obtenido de GetSystemTimeAdjustment.
Pregunta 2: Motivo de la discrepancia
La La discrepancia que encontró se debe al hecho de que es posible que la granularidad de la hora del sistema proporcionada por GetSystemTimeAsFileTime no siempre se alinee con el intervalo de actualización real informado por GetSystemTimeAdjustment.
Explicación:
GetSystemTimeAsFileTime proporciona acceso al reloj de pared del sistema en unidades de 100 ns. Sin embargo, la tasa de actualización real de la hora del sistema puede variar según los factores del hardware y la configuración de la interfaz del temporizador multimedia.
En su caso, NtQueryTimerResolution informa un período de actualización de ~25 µs, mientras que GetSystemTimeAdjustment indica un ajuste. de 15,6 ms. Esto sugiere que la hora del sistema se actualiza con más frecuencia de la que realmente se sincroniza.
Implicaciones:
Esto significa que los cambios observados en el bucle de marca de tiempo no son únicamente debido al ajuste de tiempo que se está aplicando. Más bien, reflejan las actualizaciones subyacentes de la hora del sistema, que ocurren con mayor frecuencia.
Enfoque recomendado:
En lugar de confiar en GetSystemTimeAdjustment para obtener una sincronización precisa, considere usando NtQueryTimerResolution para determinar el intervalo de actualización real de la hora del sistema. Esto proporcionará una representación más precisa del comportamiento de sincronización del sistema.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3