Diese Übersetzung ist in Arbeit.

Die performance.now() Methode gibt einen DOMHighResTimeStamp zurück, der in Millisekunden gemessen wird und auf fünf Tausendstel einer Millisekunde (5 Mikrosekunden) genau ist.

Der zurückgegebene Wert stellt die Zeit dar, die seit time origin (der PerformanceTiming.navigationStart Eigenschaft und damit der Startzeit) vergangen ist. In einem Web Worker ist die Startzeit die Zeit, in der ihr Ausführungskontext (Thread oder Prozess) erstellt wurde. In einem Browserfenster ist es die Zeit, zu der eine Nutzerin zu dem aktuellen Dokument navigierte (oder die Navigation bestätigte, sollte Bestätigung notwendig gewesen sein). Folgende Punkte sind dabei zu beachten:

  • In dedizierten web workern, die im Window-Kontext erstellt wurden, wird der Wert kleiner sein, als performance.now() in dem Browserfenster, aus dem der worker hervorging. Ehemals gleich t0 dem Hauptkontext wurde dies in der Vergangenheit auf das heutige Verhalten geändert.
  • In geteilten Wroker oder Service Workern kann es passieren, dass der Wert im Wroker größer ist als der des Hauptkontextes, da das Fenster nach den Workern erschaffen werden kann.
t = performance.now();

Beispiel

var zeit0 = performance.now();
machEtwas();
var zeit1 = performance.now();
console.log("Der Aufruf von machEtwas dauerte " + (zeit1 - zeit0) + " Millisekunden.");

Anders als andere Zeitmessungsdaten, die in JavaScript verfügbar sind (beispielsweise Date.now), sind die Zeitstempel, die von Performance.now() zurückgegeben werden nicht auf eine Auflösung von einer Millisekunde beschränkt. Stattdessen repräsentieren sie Zeit als Fließkommazahl mit einer Präzision von bis zu einer Mikrosekunde.

Ebenso anders als Date.now(), wachsen die Werte, die von Performance.now() zurückgegeben werden immer in einem konstanten Tempo, unabhängig von der Systemuhr (die manuell eingestellt oder durch Software wie NTP ungenau geworden sein kann). Ansonsten wird performance.timing.navigationStart + performance.now() annähernd ähnlich zu Date.now() sein.

Spezifkationen

Spezifikation Status Kommentar
High Resolution Time Level 2
Die Definition von 'performance.now()' in dieser Spezifikation.
Anwärter Empfehlung Strengere Definition von Schnittstellen und Typen
High Resolution Time
Die Definition von 'performance.now()' in dieser Spezifikation.
Empfehlung Ursprüngliche Definition

Browserkomabilität

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Grundsätzliche Unterstützung 20.0 webkit
24.0 [1]
(Ja) 15.0 (15.0) 10.0 15.0 8.0
in Web Workern 33 ? 34.0 (34.0) ? ? ?
now() in einem dedizierten Worker ist nun unabhängig vom now() des Hauptkontextes. ? ? 45.0 (45.0) ? ? ?
Feature Android Android Webview Edge Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile Chrome for Android
Grundsätzliche Unterstützung 4.0 25.0 (Ja) 15.0 (15.0) 10.0 Nicht unterstützt 9 25.0
in Web Workern ? (Ja) ? 34.0 (34.0) ? ? ? (Ja)
now() in einem dedizierten Worker ist nun unabhängig vom now() des Hauptkontextes. ? ? ? 45.0 (45.0) ? ? ? ?

[1] Windows Versionen von Chrome 20 bis 33 geben performance.now() nur mit einer Millisekundengenauigkeit zurück.

Siehe auch

Schlagwörter des Dokuments und Mitwirkende

 Mitwirkende an dieser Seite: lionralfs, amelzer
 Zuletzt aktualisiert von: lionralfs,