PerformanceLongAnimationFrameTiming
Eingeschränkt verfügbar
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Das PerformanceLongAnimationFrameTiming-Interface ist im Long Animation Frames API spezifiziert und bietet Metriken zu langen Animations-Frames (LoAFs), die das Rendering beanspruchen und andere Aufgaben daran hindern, ausgeführt zu werden.
Beschreibung
Lange Animations-Frames (LoAFs) sind Render-Aktualisierungen, die länger als 50 ms verzögert werden. LoAFs können zu langsamen Benutzeroberflächen-Updates führen, wodurch Bedienelemente träge erscheinen und ruckelige (nicht-glatte) Animationseffekte und Bildläufe entstehen. Dies führt oft zu Benutzerfrustration.
Das PerformanceLongAnimationFrameTiming-Interface bietet die folgende detaillierte Informationsmenge über LoAFs, die es Entwicklern ermöglicht, ihre Ursachen einzugrenzen:
- Eine detaillierte Reihe von Zeitstempeln für jeden LoAF.
- Detaillierte Informationen zu jedem Skript, das zur Erstellung des LoAF beigetragen hat, über die
PerformanceLongAnimationFrameTiming.scripts-Eigenschaft. Diese gibt ein Array vonPerformanceScriptTiming-Objekten zurück, eines für jedes Skript.
PerformanceLongAnimationFrameTiming erbt von PerformanceEntry.
Instanz-Eigenschaften
Dieses Interface definiert direkt die folgenden Eigenschaften:
PerformanceLongAnimationFrameTiming.blockingDurationSchreibgeschützt Experimentell-
Gibt einen
DOMHighResTimeStampzurück, der die Gesamtzeit in Millisekunden angibt, in der der Hauptthread daran gehindert wurde, auf hochpriorisierte Aufgaben wie Benutzereingaben zu reagieren. Dies wird berechnet, indem alle long tasks innerhalb des LoAFs mit einerdurationvon mehr als50mserfasst,50msvon jedem abgezogen, die Renderzeit zur längsten Aufgabenzeit hinzugefügt und die Ergebnisse summiert werden. PerformanceLongAnimationFrameTiming.firstUIEventTimestampSchreibgeschützt Experimentell-
Gibt einen
DOMHighResTimeStampzurück, der die Zeit des ersten UI-Ereignisses — wie ein Maus- oder Tastaturereignis — angibt, das in der aktuellen Animations-Frame-Warteschlange eingereiht wurde. PerformanceLongAnimationFrameTiming.paintTime-
Gibt den
timestampzurück, als die Renderphase endete und der Animations-Frame startete. PerformanceLongAnimationFrameTiming.presentationTime-
Gibt den
timestampzurück, als die Benutzeroberflächen-Aktualisierung tatsächlich auf dem Bildschirm gezeichnet wurde. PerformanceLongAnimationFrameTiming.renderStartSchreibgeschützt Experimentell-
Gibt einen
DOMHighResTimeStampzurück, der die Startzeit des Renderzyklus angibt, welcherWindow.requestAnimationFrame()-Rückrufe, Stil- und Layoutberechnung,ResizeObserver-Rückrufe undIntersectionObserver-Rückrufe einschließt. PerformanceLongAnimationFrameTiming.scriptsSchreibgeschützt Experimentell-
Gibt ein Array von
PerformanceScriptTiming-Instanzen zurück. PerformanceLongAnimationFrameTiming.styleAndLayoutStartSchreibgeschützt Experimentell-
Gibt einen
DOMHighResTimeStampzurück, der den Beginn der Zeit in Stil- und Layoutberechnungen für den aktuellen Animations-Frame angibt.
Es erweitert auch die folgenden PerformanceEntry-Eigenschaften und qualifiziert und beschränkt sie wie beschrieben:
PerformanceEntry.durationSchreibgeschützt Experimentell-
Gibt einen
DOMHighResTimeStampzurück, der die in Millisekunden gemessene Zeit zur vollständigen Verarbeitung des LoAFs angibt. PerformanceEntry.entryTypeSchreibgeschützt Experimentell-
Gibt den Eintragstyp zurück, welcher immer
"long-animation-frame"ist. PerformanceEntry.nameSchreibgeschützt Experimentell-
Gibt den Eintragsnamen zurück, welcher immer
"long-animation-frame"ist. PerformanceEntry.startTimeSchreibgeschützt Experimentell-
Gibt einen
DOMHighResTimeStampzurück, der die Zeit angibt, zu der der Animations-Frame begann.
Instanz-Methoden
PerformanceLongAnimationFrameTiming.toJSON()Experimentell-
Gibt eine JSON-Darstellung des
PerformanceLongAnimationFrameTiming-Objekts zurück.
Beispiele
Siehe Long animation frame timing für Beispiele im Zusammenhang mit dem Long Animation Frames API.
Spezifikationen
| Spezifikation |
|---|
| Long Animation Frames API> # sec-PerformanceLongAnimationFrameTiming> |