Tutorial: Como acelerar el Timer en Windows hasta 1ms

Hola,

He publicado un nuevo tutorial explicando una tcnica mediante la cual podemos utilizar Timers (ejecutar cdigo a intervalos regulares) bajo Windows con una resolucin mxima de hasta 1ms. Como de costumbre, espero que lo encuentres de inters.

Acelerar Timers en Windows

Javier

Hola Javier,

Muchas gracias, muy interesante.

Me ha sorprendido encontrar un DoEvents en el cdigo. Entiendo su necesidad, pero como he ledo varias que es problemtico fuera de las aplicaciones de consola, me ha parecido curioso.

Puede dar problemas? Por qu no, en caso de que no los d?

Creo que este tema (tanto tu tutorial como lo del uso de DoEvents) podra ser suficientemente interesante como para empezar un hilo nuevo en ingls, si no existe ya uno.

Un saludo,

Julen

Hola Julen,

La documentacin indica claramente que no debe de utilizarse puesto que crea un Main Loop dentro del Main Loop existentehasta la fecha he tenido que usarlo unas cuantas ocasiones en proyectos Linux y Windows y, por el momento, sin problema.

Es el nico modo que tenemos aqu de mantener la UI reactivano hay ms gaitas. Si tiramos de hilos, perdemos contacto con la capacidad de operar sobre elementos de UI, y estaramos reduciendo los tiempos a los establecidos por cada Loop de Eventos (el tiempo invertido en cada iteracin del Thread)

Realmente me he devanado los sesos buscando alguna otra alternativa. La mejor habra sido el uso de los MultimediaTimer (ptima), pero ya sabes.

El nico modo “casi” perfecto es el proporcionado por el plug-in TimerMBS de @ChristianSchmitz , dado que maneja sus propios hilos pre-emptivos y llamadas reentrantes; aun as, impacta en el refresco realizado por otros temporizadores estndar (por ejemplo). Es el nico detalle que le he visto.

Para una buena cantidad de casos, creo que la solucin propuesta en el artculo es buena.

Javier