loop interval ejemplo javascript timer

ejemplo - timer interval javascript



En JavaScript, ¿hay una fuente de tiempo con una resolución constante en milisegundos? (3)

AFAIK, milisegundos es tan bueno como se consigue en JavaScript. Aquí está la documentación de Mozilla.org para el objeto Date . Nada allí indica algo con una resolución más fina.

El objeto Date en JavaScript realiza de forma diferente máquina a máquina y navegador a navegador con respecto a la resolución de la función en milisegundos. Descubrí que la mayoría de las máquinas tienen una resolución de aproximadamente 16 ms en IE, donde Chrome o Firefox pueden tener una resolución de hasta 1 ms.

¿Hay alguna otra función disponible para JavaScript en general o para IE específicamente que brinde una mejor resolución temporal? keyDown atrapar y registrar los keyDown y keyUp en milisegundos y lo necesito en el rango de +/- 10 ms o menos.

Para ver una ilustración de esto, consulte la sección "resoluciones de nueva fecha ()" de esta página. Hay una tabla con un botón de prueba que evalúa la resolución de tiempo de JavaScript de la máquina / navegador actual en milisegundos. Curiosamente, Chrome obtiene regularmente una resolución de 1 ms.

http://www.merlyn.demon.co.uk/js-dates.htm#OV

Mi búsqueda es para un método de fecha y hora de JavaScript que ofrezca una resolución inferior a 10 ms en todos los navegadores. algo para reemplazar o mejorar Date ().


Como mencionas Internet Explorer, supongo que estás trabajando en Windows. La resolución de 15 ms que está recibiendo puede tener que ver con la resolución del temporizador del sistema de Windows.

También me he dado cuenta al ejecutar programas Java en Windows, que la resolución del temporizador del sistema es de alrededor de 16 ms o menos. (Usando el método System.currentTimeMillis() )

Hice una búsqueda exhaustiva para ver si podía encontrar información sobre la resolución del temporizador del sistema en Windows, y pude encontrar un enlace a Temporizadores de alta resolución dentro de Windows NT de TechNet. Mencionó un poco sobre la resolución del temporizador del sistema de Windows:

Windows NT basa todo su soporte de temporizador fuera de una interrupción de reloj del sistema, que de forma predeterminada se ejecuta en una granularidad de 10 milisegundos. Esta es la resolución de los temporizadores estándar de Windows.

(Supongo que Windows XP y Vista aún tienen el mismo temporizador, consideren que es un descendiente de NT).

A menos que Firefox y Chrome tengan su propio temporizador de alta resolución implementado, creo que la mejor resolución que podrá obtener de un navegador en la plataforma de Windows será de alrededor de 10 ms.

Aunque no es relevante para esta pregunta, también encontré un artículo sobre MSDN en temporizadores de alta resolución en Windows: aplique un proveedor de tiempo de actualización continua y alta resolución para Windows


El tiempo de alta resolución en una máquina de escritorio sigue siendo un tema abierto.

Los sistemas operativos populares de hoy le proporcionan solo una granularidad de 10 ms, porque esa es la frecuencia de la interrupción de su temporizador de reloj. Encontrará los 10 ms también en páginas de manual de Linux, por ejemplo. El navegador solo expondrá los temporizadores provistos por el sistema operativo, con una sobrecarga interna adicional del navegador.

Dicho esto, es posible lograr una mayor granularidad. Pero todas estas técnicas son específicas de la configuración del hardware y no se puede esperar que estén expuestas a través de JavaScript en el futuro cercano.