Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

PerformancePaintTiming

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨April 2021⁩.

* Some parts of this feature may have varying levels of support.

Das PerformancePaintTiming-Interface liefert Zeitinformationen über "Paint"-Operationen (auch "Render" genannt) während des Webseitenausbaus. "Paint" bezieht sich auf die Umwandlung des Renderbaums in Pixel auf dem Bildschirm.

Dieses API stellt zwei wichtige Paint-Momente bereit:

  • First Paint (FP): Zeitpunkt, zu dem etwas gerendert wird. Beachten Sie, dass die Markierung des ersten Paints optional ist und nicht alle User Agents dies melden.
  • First Contentful Paint (FCP): Zeitpunkt, zu dem der erste Teil des DOM-Textes oder Bildinhalts gerendert wird.

Ein dritter wichtiger Paint-Moment wird durch die LargestContentfulPaint-API bereitgestellt:

  • Largest Contentful Paint (LCP): Renderzeit des größten sichtbaren Bild- oder Textblocks innerhalb des Ansichtsfensters, aufgezeichnet ab dem Moment, an dem die Seite mit dem Laden beginnt.

Die von diesem API bereitgestellten Daten helfen Ihnen, die Zeit zu minimieren, die Benutzer warten müssen, bevor der Inhalt der Website sichtbar wird. Die Verringerung der Zeit bis zu diesen wichtigen Paint-Momenten lässt Websites reaktionsschneller, leistungsfähiger und ansprechender für Ihre Benutzer erscheinen.

Wie andere Performance-APIs erweitert dieses API PerformanceEntry.

PerformanceEntry PerformancePaintTiming

Instanz-Eigenschaften

Dieses Interface hat keine eigenen Eigenschaften, erweitert jedoch die folgenden PerformanceEntry-Eigenschaften, indem es die Eigenschaften qualifiziert und einschränkt:

PerformanceEntry.entryType

Gibt "paint" zurück.

PerformanceEntry.name

Gibt entweder "first-paint" oder "first-contentful-paint" zurück.

PerformanceEntry.startTime

Gibt den Zeitstempel zurück, zu dem das Paint erfolgte.

PerformanceEntry.duration

Gibt 0 zurück.

Instanz-Methoden

PerformancePaintTiming.toJSON()

Gibt eine JSON-Darstellung des PerformancePaintTiming-Objekts zurück.

Beispiele

Ermittlung von Paint-Zeiten

Beispiel mit einem PerformanceObserver, der neue paint-Performance-Einträge meldet, sobald sie in der Performance-Timeline des Browsers aufgezeichnet werden. Verwenden Sie die Option buffered, um auf Einträge vor der Erstellung des Observers zuzugreifen.

js
const observer = new PerformanceObserver((list) => {
  list.getEntries().forEach((entry) => {
    console.log(
      `The time to ${entry.name} was ${entry.startTime} milliseconds.`,
    );
    // Logs "The time to first-paint was 386.7999999523163 milliseconds."
    // Logs "The time to first-contentful-paint was 400.6999999284744 milliseconds."
  });
});

observer.observe({ type: "paint", buffered: true });

Beispiel mit Performance.getEntriesByType(), das nur paint-Performance-Einträge anzeigt, die zum Zeitpunkt des Methodenaufrufs in der Performance-Timeline des Browsers vorhanden sind:

js
const entries = performance.getEntriesByType("paint");
entries.forEach((entry) => {
  console.log(`The time to ${entry.name} was ${entry.startTime} milliseconds.`);
  // Logs "The time to first-paint was 386.7999999523163 milliseconds."
  // Logs "The time to first-contentful-paint was 400.6999999284744 milliseconds."
});

Spezifikationen

Specification
Paint Timing
# sec-PerformancePaintTiming

Browser-Kompatibilität

Siehe auch