PerformanceLongAnimationFrameTiming
Eingeschränkt verfügbar
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Want more browser support for this feature? Tell us why.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Das Interface PerformanceLongAnimationFrameTiming ist in der Long Animation Frames API spezifiziert und liefert Messwerte für lange Animationsframes (LoAFs), die Zeit für das Rendering beanspruchen und die Ausführung anderer Aufgaben blockieren.
PerformanceLongAnimationFrameTiming erbt von PerformanceEntry.
Instanzeigenschaften
Dieses Interface definiert direkt die folgenden Eigenschaften:
PerformanceLongAnimationFrameTiming.blockingDurationSchreibgeschützt-
Gibt einen
DOMHighResTimeStampzurück, der die Gesamtzeit in Millisekunden angibt, während der der Hauptthread daran gehindert war, auf Aufgaben mit hoher Priorität wie Benutzereingaben zu reagieren. Zur Berechnung werden alle langen Aufgaben innerhalb des LoAF mit einerdurationvon mehr als50msberücksichtigt. Von jeder wird50msabgezogen, die Rendering-Zeit wird zur Dauer der längsten Aufgabe addiert und die Ergebnisse werden aufsummiert. PerformanceLongAnimationFrameTiming.firstUIEventTimestampSchreibgeschützt-
Gibt einen
DOMHighResTimeStampzurück, der den Zeitpunkt des ersten UI-Ereignisses angibt – etwa eines Maus- oder Tastaturereignisses –, das während des aktuellen Animationsframes in die Warteschlange eingereiht wurde. PerformanceLongAnimationFrameTiming.paintTimeSchreibgeschützt-
Gibt den
Zeitstempelzurück, zu dem die Rendering-Phase endete und der Animationsframe begann. PerformanceLongAnimationFrameTiming.presentationTimeSchreibgeschützt-
Gibt den
Zeitstempelzurück, zu dem die aktualisierte Benutzeroberfläche tatsächlich auf dem Bildschirm dargestellt wurde. PerformanceLongAnimationFrameTiming.renderStartSchreibgeschützt-
Gibt einen
DOMHighResTimeStampzurück, der den Beginn des Rendering-Zyklus angibt. Dieser umfasst Callbacks vonWindow.requestAnimationFrame(), Stil- und Layoutberechnungen sowie Callbacks vonResizeObserverundIntersectionObserver. PerformanceLongAnimationFrameTiming.scriptsSchreibgeschützt-
Gibt ein Array von
PerformanceScriptTiming-Instanzen zurück. PerformanceLongAnimationFrameTiming.styleAndLayoutStartSchreibgeschützt-
Gibt einen
DOMHighResTimeStampzurück, der den Beginn des Zeitraums angibt, in dem Stil- und Layoutberechnungen für den aktuellen Animationsframe durchgeführt werden.
Außerdem erweitert es die folgenden Eigenschaften von PerformanceEntry und konkretisiert beziehungsweise beschränkt sie wie beschrieben:
PerformanceEntry.durationSchreibgeschützt-
Gibt einen
DOMHighResTimeStampzurück, der die für die vollständige Verarbeitung des LoAF benötigte Zeit in Millisekunden angibt. PerformanceEntry.entryTypeSchreibgeschützt-
Gibt den Eintragstyp zurück, der immer
"long-animation-frame"ist. PerformanceEntry.nameSchreibgeschützt-
Gibt den Eintragsnamen zurück, der immer
"long-animation-frame"ist. PerformanceEntry.startTimeSchreibgeschützt-
Gibt einen
DOMHighResTimeStampzurück, der den Zeitpunkt angibt, zu dem der Animationsframe begann.
Instanzmethoden
PerformanceLongAnimationFrameTiming.toJSON()-
Gibt ein einfaches, als JSON serialisierbares Objekt zurück, das das
PerformanceLongAnimationFrameTiming-Objekt repräsentiert. Die Methode wird automatisch vonJSON.stringify()aufgerufen.
Beschreibung
Lange Animationsframes (LoAFs) sind Rendering-Aktualisierungen, die sich um mehr als 50 ms verzögern. LoAFs können dazu führen, dass die Benutzeroberfläche (UI) nur langsam aktualisiert wird. Dadurch können Bedienelemente den Eindruck erwecken, nicht zu reagieren, und Animationen sowie das Scrollen können ruckeln. Das frustriert häufig die Benutzer.
Das Interface PerformanceLongAnimationFrameTiming liefert die folgenden detaillierten Informationen zu LoAFs, mit denen Entwickler deren Ursachen eingrenzen können:
- Detaillierte Zeitstempel für jeden LoAF.
- Detaillierte Informationen zu jedem Skript, das zur Entstehung des LoAF beigetragen hat, über die Eigenschaft
PerformanceLongAnimationFrameTiming.scripts. Sie gibt ein Array vonPerformanceScriptTiming-Objekten zurück, eines für jedes Skript.
Beispiele
Beispiele zur Long Animation Frames API finden Sie unter Zeitmessung für lange Animationsframes.
Spezifikationen
| Spezifikation |
|---|
| Long Animation Frames API> # sec-PerformanceLongAnimationFrameTiming> |