Niveau Niveau confirmé

À quoi sert High Resolution Time API ?

Articlejavascript

Publié par le (3867 lectures)

résolution time timeout

L'API High Resolution Time (ou l'API de temps à haute résolution) est une interface JavaScript qui permet d'accéder à une horloge de haute précision pour mesurer des périodes de temps avec une précision allant jusqu'à la microseconde.

Cela peut être utile pour des applications qui nécessitent une précision temporelle élevée, comme les jeux, les applications de réalité virtuelle ou tout simplement pour mesurer des écarts de performances lorsque les fonctions classiques telles que getTime() de l'objet Date ne suffisent plus.

Cette API est bien reconnue depuis 2013 par l'ensemble des moteurs de navigateurs. Ces derniers pourront néanmoins arrondir les valeurs retournées et diminuer la précision pour des raisons de sécurité et de mitigation d'usage détourné.

Comment utiliser High Resolution Time API?

Pour utiliser l'API High Resolution Time dans votre code JavaScript, vous pouvez commencer par accéder à l'objet performance et sa méthode now().

Voici un exemple simple d'utilisation de l'API High Resolution Time pour mesurer la durée d'une opération dans votre code :

// Récupération de l'heure actuelle en utilisant l'API High Resolution Time
const start = performance.now();

// Effectuer une ou plusieurs opération(s) ici...

// Récupération de l'heure actuelle une nouvelle fois
const end = performance.now();

// Calcul de la durée de l'opération
const duration = end - start;

// Affichage de la durée totale de l'opération (en ms)
console.log(duration);

Vous pouvez également utiliser l'API High Resolution Time pour mesurer des périodes de temps plus longues en utilisant les méthodes setInterval et setTimeout, qui vous permettent d'exécuter du code à des intervalles réguliers. Par exemple :

// Définition d'une fonction qui sera appelée toutes les 10 secondes
function logTime() {
  // Récupération de l'heure actuelle en utilisant l'API High Resolution Time
  var now = performance.now();

  // Affichage de l'heure actuelle dans la console
  console.log(now);
}

// Exécution de la fonction toutes les 10 secondes
setInterval(logTime, 10 * 1000);

Vous pouvez en savoir plus sur cette API en consultant la spécification W3C High Resolution Time bien entendu.

Commenter

Vous devez être inscrit et identifié pour utiliser cette fonction.

Connectez-vous (déjà inscrit)

Oubli de mot de passe ? Pas de panique, on va le retrouver

Pas encore inscrit ? C'est très simple et gratuit.