Si estamos interesados en el desarrollo de animaciones, juegos o simplemente por pura obsecion de manejo del tiempo, HTML5 nos trae algo nuevo, sucede que por un buen tiempo a la hora de manejar intervalos de tiempo javascript solo permitia milisegundos y hasta la fecha es asi.
Veremos :
- Midiendo Segundos
- Midiendo Micras
Por la obsecion de mejores animaciones y mejores frames ha surgido la necesidad de implementar micras de segundo, es decir dividir un segundo en un millon de partes, para obtener medidas de tiempo mucho mas precisas.
Vamos a partir de un ejemplo simple, la sumatoria de un numero de 1 hasta 1000000 (un millon), vamos a medir el tiempo en que ocurre :
var start = Date.now(); var sumatoria = 0 for(var i=0;i<1000000;i++) sumatoria = sumatoria + 1 if(window.console) window.console.log("duracion : " + (Date.now() - start));
Esto imprimira en la consola javascript la duracion de la operacion en segundos.Aqui basicamente lo que hacemos es obtener la hora(var start = Date.now()) antes de iniciar la operacion y restarle la hora(Date.now()) a la que termina la operacion y asi obtenermos los segundos que tarda la operacion.
Para navegadores webkit esto es lo nuevo, esta funcion nos da el tiempo con todo y micras de segundo, para aplicarlo solo sustituiremos Date.now() por performance.webkitNow(), el codigo nos quedata asi :
var start = performance.webkitNow(); var sumatoria = 0 for(var i=0;i<1000000;i++) sumatoria = sumatoria + 1 if(window.console) window.console.log("duracion : " + (performance.webkitNow() - start));
Como resultado obtendremos :
Y concluimos, nos podemos dar cuenta que mientras en en segundos nos muestra numeros enteros y por la parte de performance.webkitNow nos da una mayor exactitud.
Cuando se trata de caracteristicas del HTML5 cabe notar que el navegador Chrome es uno de los mejores en este aspecto, desde mi humilde punto de vista, aunque es de respetarse la intervencion de los demas navegadores tipo webkit.
