PerformanceLongAnimationFrameTiming
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Die PerformanceLongAnimationFrameTiming Schnittstelle ist im Long Animation Frames API spezifiziert und liefert Metriken zu langen Animationsrahmen (LoAFs), die das Rendering einnehmen und andere Aufgaben blockieren, sodass diese nicht ausgeführt werden können.
Beschreibung
Lange Animationsrahmen (LoAFs) sind Render-Updaten, die über 50ms hinaus verzögert werden. LoAFs können zu langsamen Benutzeroberflächen- (UI) Aktualisierungen führen, wodurch Steuerungselemente unempfänglich wirken und es zu ruckeligen (nicht sanften) Animationseffekten und Scrollen kommt. Dies führt oft zu Benutzerfrustration.
Die Schnittstelle PerformanceLongAnimationFrameTiming bietet die folgende detaillierte Informationssammlung über LoAFs, damit Entwickler ihre Ursachen genauer eingrenzen können:
- Ein detaillierter Satz von Zeitstempeln für jedes LoAF.
- Detaillierte Informationen zu jedem Skript, das zur Erstellung des LoAF beigetragen hat, über die
PerformanceLongAnimationFrameTiming.scriptsEigenschaft. Diese gibt ein Array vonPerformanceScriptTimingObjekten zurück, eines für jedes Skript.
PerformanceLongAnimationFrameTiming erbt von PerformanceEntry.
Instanz-Eigenschaften
Diese Schnittstelle erweitert die folgenden PerformanceEntry Eigenschaften für lange Animationsrahmen-Leistungseinträge:
PerformanceEntry.durationSchreibgeschützt Experimentell-
Gibt ein
DOMHighResTimeStampzurück, das die benötigte Zeit in Millisekunden angibt, um das LoAF vollständig zu verarbeiten. PerformanceEntry.entryTypeSchreibgeschützt Experimentell-
Gibt den Eintragstyp zurück, der immer
"long-animation-frame"ist. PerformanceEntry.nameSchreibgeschützt Experimentell-
Gibt den Eintragsnamen zurück, der immer
"long-animation-frame"ist. PerformanceEntry.startTimeSchreibgeschützt Experimentell-
Gibt ein
DOMHighResTimeStampzurück, das die Zeit angibt, zu der der Animationsrahmen begonnen hat.
Diese Schnittstelle unterstützt außerdem die folgenden Eigenschaften:
PerformanceLongAnimationFrameTiming.blockingDurationSchreibgeschützt Experimentell-
Gibt ein
DOMHighResTimeStampzurück, das die Gesamtzeit in Millisekunden angibt, in der der Hauptthread daran gehindert wurde, auf hochpriorisierte Aufgaben zu reagieren, wie z.B. der Benutzer-Eingabe. Dies wird berechnet, indem alle langen Aufgaben innerhalb des LoAFs, die einedurationvon mehr als50mshaben, betrachtet werden,50msvon jeder abgezogen werden, die Rendering-Zeit zur längsten Aufgabendauer hinzugefügt und die Ergebnisse summiert werden. PerformanceLongAnimationFrameTiming.firstUIEventTimestampSchreibgeschützt Experimentell-
Gibt ein
DOMHighResTimeStampzurück, das die Zeit des ersten UI-Ereignisses angibt – wie z.B. ein Maus- oder Tastaturereignis –, das während des aktuellen Animationsrahmens in die Warteschlange gestellt wurde. PerformanceLongAnimationFrameTiming.renderStartSchreibgeschützt Experimentell-
Gibt ein
DOMHighResTimeStampzurück, das den Startzeitpunkt des Rendering-Zyklus angibt, derWindow.requestAnimationFrame()Rückrufe, Stil- und Layoutberechnungen,ResizeObserverRückrufe undIntersectionObserverRückrufe umfasst. PerformanceLongAnimationFrameTiming.scriptsSchreibgeschützt Experimentell-
Gibt ein Array von
PerformanceScriptTimingInstanzen zurück. PerformanceLongAnimationFrameTiming.styleAndLayoutStartSchreibgeschützt Experimentell-
Gibt ein
DOMHighResTimeStampzurück, das den Beginn der Zeitspanne angibt, die für Stil- und Layoutberechnungen des aktuellen Animationsrahmens aufgewendet wird.
Instanz-Methoden
PerformanceLongAnimationFrameTiming.toJSON()Experimentell-
Gibt eine JSON-Darstellung des
PerformanceLongAnimationFrameTimingObjekts zurück.
Beispiele
Siehe Long animation frame timing für Beispiele zum Long Animation Frames API.
Spezifikationen
| Specification |
|---|
| Long Animation Frames API> # sec-PerformanceLongAnimationFrameTiming> |
Browser-Kompatibilität
Loading…