Skip to content

Instantly share code, notes, and snippets.

@jeromeetienne
Created August 25, 2012 09:56
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save jeromeetienne/3463123 to your computer and use it in GitHub Desktop.
Save jeromeetienne/3463123 to your computer and use it in GitHub Desktop.
a submillisecond version of Date.now() based on based on window.performance.now()
/**
* precise version of Date.now() -
* It provide submillisecond precision based on window.performance.now() when
* available, fall back on Date.now()
* see http://updates.html5rocks.com/2012/05/requestAnimationFrame-API-now-with-sub-millisecond-precision
*/
var nowSubms = (function(){
var p = window.performance || {};
if( p.now ) return function(){ return p.timing.navigationStart + p.now(); };
else if( p.mozNow ) return function(){ return p.timing.navigationStart + p.mozNow(); };
else if( p.webkitNow ) return function(){ return p.timing.navigationStart + p.webkitNow() };
else if( p.mskitNow ) return function(){ return p.timing.navigationStart + p.msNow() };
else if( p.okitNow ) return function(){ return p.timing.navigationStart + p.oNow() };
else return function(){ return Date.now(); };
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment