24
« en: Octubre 15, 2013, 11:47:52 am »
Seba hay una cTinyTimer que esta toda harcodeada, es basicamente un code de Paul Caon todo harcodeado, esa funciona correctamente, acabo de testearla por las dudas y y anda bien, lo que si veo es que por ejemplo con un intervalo de 10 ms y usando GetTickCount& el tiempo entre pulsaciones es de 15/16 ms, esto es porque mas alla de la frecuencia de pulsacion tenes que tener el cuenta el tiempo de ejecucion etc, todo esto en IDE es peor aun.
Teniendo en cuenta que toda la ejecucion demora 15/16 ms cuando lo esperado son 10 es eguro que esos 10 segundos se te van a hacer mucho mas, como te decia antes es mejor usar menos iteraciones asi esta diferencia es menor, la manera seria haciendo el calculo en pixeles, otra cosa es calcular el lapso de tiempo transcurrido y ajustar la velocidad para corregir la diferencia de tiempo por la ejecucion.
Es imposible conseguir que ejecute de manera precisa porque tenes muchas cosas involucradas en el medio.
Edito:
Para medir por ejemplo el desempeño de un codigo lo que se suele hacer es correr varias veces el proceso ver la diferencia de tiempo y compensarla, todo esto se hace con la menor cantidad de procesos posibles, en tu caso no va a funcionar porque esto tiene que convivir con otros procesos asi que esta tecnica no seria aplicable.
Edito2: Otra opcion que se me ocurre es correr el ciclo en un loop y usar QueryPerformanceCounter para ver cuando realizar el proximo movimiento, esto puede ser un poco mejor.. pero creoq ue si o si vas a tener que ir recalculando a medida que animas.