Leistung mit dem RAIL-Modell messen

RAIL ist ein nutzerorientiertes Leistungsmodell, das eine Struktur für Überlegungen zur Leistung bietet. Das Modell schlüsselt die Nutzererfahrung in wichtige Aktionen (z. B. Tippen, Scrollen, Laden) auf und hilft Ihnen, für jede Aktion Leistungsziele zu definieren.

RAIL steht für vier verschiedene Aspekte des Lebenszyklus von Webanwendungen: Antwort, Animation, inaktiv und Last. Nutzer haben in jedem dieser Kontexte unterschiedliche Leistungserwartungen. Leistungsziele werden daher basierend auf dem Kontext und UX-Untersuchungen dazu, wie Nutzer Verzögerungen wahrnehmen, definiert.

Die vier Teile des RAIL-Leistungsmodells: Antwort, Animation, Inaktivität und Last.
Die vier Teile des RAIL-Leistungsmodells

Optimale Suchergebnisse für Nutzer

Nutzer in den Mittelpunkt Ihrer Bemühungen stellen In der folgenden Tabelle sind die wichtigsten Messwerte dazu aufgeführt, wie Nutzer Leistungsverzögerungen wahrnehmen:

Wahrnehmung von Leistungsverzögerungen durch Nutzer
0 bis 16 ms Nutzer können Bewegungen besonders gut erfassen, und sie mögen es nicht, wenn Animationen nicht flüssig sind. Animationen werden als flüssig empfunden, solange pro Sekunde 60 neue Frames gerendert werden. Das sind 16 ms pro Frame, einschließlich der Zeit, die der Browser benötigt, um den neuen Frame auf dem Bildschirm darzustellen, bis eine App ungefähr 10 ms benötigt, um einen Frame zu erzeugen.
0 bis 100 ms Reagieren Sie innerhalb dieses Zeitfensters auf die Nutzeraktionen und die Nutzenden haben das Gefühl, dass sich das Ergebnis sofort ergibt. und auch die Verbindung zwischen Aktion und Reaktion wird unterbrochen.
100 bis 1.000 ms Innerhalb dieses Fensters fühlen sich die Dinge als Teil eines natürlichen und kontinuierlichen Fortschritts von Aufgaben an. Für die meisten Webnutzer stellt das Laden von Seiten oder das Ändern der Ansicht eine Aufgabe dar.
1.000 ms oder mehr Über 1.000 Millisekunden (1 Sekunde) verlieren die Nutzenden den Fokus auf die von ihnen ausgeführte Aufgabe.
10.000 ms oder mehr Nach diesen 10.000 Millisekunden (10 Sekunden) sind Nutzende frustriert und es ist wahrscheinlich, dass sie Aufgaben abbrechen. Sie werden vielleicht später wiederkommen.

Ziele und Richtlinien

Im Zusammenhang mit RAIL haben die Begriffe Ziele und Richtlinien eine bestimmte Bedeutung:

  • Zielvorhaben: Wichtige Leistungsmesswerte im Zusammenhang mit der Nutzererfahrung. Tippen Sie zum Beispiel, um in weniger als 100 Millisekunden zu malen. Da die menschliche Wahrnehmung relativ konstant ist, werden sich diese Ziele wahrscheinlich nicht so schnell ändern.

  • Richtlinien Empfehlungen, mit denen Sie Ihre Ziele erreichen können. Sie können sich speziell auf die aktuellen Hardware- und Netzwerkverbindungsbedingungen beziehen und sich daher im Laufe der Zeit ändern.

Antwort: Verarbeitungsereignisse in weniger als 50 ms

Ziel: Durch Nutzereingabe innerhalb von 100 ms eingeleitet wird, sodass die Nutzer das Gefühl haben, dass die Interaktionen sofort erfolgen

Richtlinien:

  • Damit innerhalb von 100 ms eine sichtbare Antwort angezeigt wird, sollten Sie Nutzereingabeereignisse innerhalb von 50 ms verarbeiten. Dies gilt für die meisten Eingaben, z. B. das Klicken auf Schaltflächen, das Wechseln von Formularsteuerelementen oder das Starten von Animationen. Dies gilt nicht für das Ziehen oder Scrollen.

  • Auch wenn dies widersprüchlich klingen mag, ist es nicht immer der richtige Aufruf, sofort auf Nutzereingaben zu reagieren. Sie können dieses 100-ms-Fenster für andere teure Arbeiten verwenden, aber achten Sie darauf, den Nutzer nicht zu blockieren. Arbeiten Sie möglichst im Hintergrund.

  • Wenn Aktionen länger als 50 ms dauern, geben Sie immer Feedback.

50 ms oder 100 ms?

Ziel ist es, in weniger als 100 ms auf Eingaben zu reagieren. Warum ist unser Budget also nur 50 ms? Das liegt daran, dass neben der Eingabeverarbeitung in der Regel noch weitere Arbeitsschritte ausgeführt werden, die einen Teil der Zeit in Anspruch nehmen, die für eine akzeptable Eingabeantwort zur Verfügung steht. Wenn eine Anwendung während der Inaktivität in den empfohlenen 50-ms-Blöcken arbeitet, kann die Eingabe bis zu 50 ms in die Warteschlange gestellt werden, wenn sie während eines dieser Arbeitsblöcke erfolgt. Daher kann davon ausgegangen werden, dass nur die verbleibenden 50 ms für die eigentliche Eingabeverarbeitung verfügbar sind. Dieser Effekt wird im folgenden Diagramm veranschaulicht:

Diagramm, das zeigt, wie eine bei einer inaktiven Aufgabe empfangene Eingabe in die Warteschlange gestellt wird, um die verfügbare Eingabeverarbeitungszeit auf 50 ms zu reduzieren
Wie sich inaktive Aufgaben auf das Budget der Eingabeantwort auswirken.

Animation: Frame in 10 ms erstellen

Ziele:

  • Erzeugen Sie jeden Frame in einer Animation in 10 ms oder weniger. Technisch gesehen beträgt das maximale Budget für jeden Frame 16 ms (1.000 ms ÷ 60 Frames pro Sekunde ÷ 16 ms), aber Browser benötigen etwa 6 ms zum Rendern jedes Frames, daher ist die Richtlinie von 10 ms pro Frame.

  • Das Ziel sollte eine möglichst flüssige visuelle Darstellung sein. Nutzer bemerken, wenn die Framerates variieren.

Richtlinien:

  • An Stellen mit hohem Druck wie Animationen ist es wichtig, nichts zu tun, wo es möglich ist, und ein absolutes Minimum zu erreichen, wo dies nicht möglich ist. Nutzen Sie nach Möglichkeit die Antwort von 100 ms, um teure Arbeit im Voraus zu berechnen, damit Sie Ihre Chancen auf 60 fps maximieren.

  • Informationen zu verschiedenen Strategien zur Optimierung der Animation finden Sie unter Renderingleistung.

  • Visuelle Animationen, z. B. Ein- und Ausstiege, Tweens und Ladeanzeigen.
  • Scrollen. Dazu gehört das „Schleudern“ – der Nutzer beginnt zu scrollen, lässt ihn dann los und die Seite scrollt weiter.
  • Wird verschoben. Animationen folgen häufig Nutzerinteraktionen, z. B. Schwenken einer Karte oder Zusammenziehen der Finger.

Inaktiv: Inaktivitätszeit maximieren

Ziel: Maximieren Sie die Leerlaufzeit, um die Wahrscheinlichkeit zu erhöhen, dass die Seite innerhalb von 50 ms auf Nutzereingaben reagiert.

Richtlinien:

  • Inaktivitätszeit verwenden, um zurückgestellte Arbeiten abzuschließen. Laden Sie beispielsweise beim ersten Laden der Seite so wenig Daten wie möglich und nutzen Sie dann die Inaktivitätszeit, um den Rest zu laden.

  • Arbeiten Sie bei Inaktivität in 50 ms oder weniger. Ist das nicht der Fall, riskieren Sie, dass die Fähigkeit der App, innerhalb von 50 ms auf Nutzereingaben zu reagieren, beeinträchtigt wird.

  • Wenn ein Nutzer während der Inaktivität mit einer Seite interagiert, sollte die Nutzerinteraktion immer die höchste Priorität haben und die Arbeit unterbrechen.

Laden: Inhalte bereitstellen und in weniger als 5 Sekunden interaktiv werden

Wenn Seiten langsam geladen werden, wandern die Aufmerksamkeit der Nutzer und Nutzer nehmen die Aufgabe als fehlerhaft wahr. Websites, die schnell geladen werden, haben längere durchschnittliche Sitzungen, niedrigere Absprungraten und eine höhere Anzeigensichtbarkeit.

Ziele:

Richtlinien:

Tools zur Messung von RAIL

Es gibt einige Tools, mit denen Sie Ihre RAIL-Messungen automatisieren können. Welche davon Sie verwenden, hängt davon ab, welche Art von Informationen Sie benötigen und welche Art von Workflow Sie bevorzugen.

Chrome-Entwicklertools

Die Chrome-Entwicklertools bieten detaillierte Analysen zu allem, was beim Laden oder Ausführen einer Seite geschieht. Lesen Sie Erste Schritte mit der Analyse der Laufzeitleistung, um sich mit der Benutzeroberfläche des Steuerfelds Leistung vertraut zu machen.

Die folgenden Entwicklertools sind besonders relevant:

Leuchtturm

Lighthouse ist in den Chrome-Entwicklertools, unter PageSpeed Insights, als Chrome-Erweiterung, als Node.js-Modul und in WebPageTest verfügbar. Sie geben eine URL ein, es simuliert ein Gerät im mittleren Preissegment mit einer langsamen 3G-Verbindung, führt eine Reihe von Audits auf der Seite aus und liefert Ihnen einen Bericht zur Ladeleistung sowie Verbesserungsvorschläge.

Die folgenden Prüfungen sind besonders relevant:

Antwort

Laden

WebPageTest

WebPageTest ist ein Tool für die Webleistung, das mit echten Browsern auf Webseiten zugreift und Zeitmesswerte erfasst. Geben Sie unter webpagetest.org/easy eine URL ein, um einen detaillierten Bericht zur Ladeleistung der Seite auf einem echten Moto G4-Gerät mit einer langsamen 3G-Verbindung zu erhalten. Sie können sie auch so konfigurieren, dass sie eine Lighthouse-Prüfung enthält.

Zusammenfassung

RAIL dient dazu, die User Experience einer Website als eine Reise zu betrachten, die sich aus verschiedenen Interaktionen zusammensetzt. Wenn Sie verstehen, wie Nutzer Ihre Website wahrnehmen, können Sie Leistungsziele mit den größten Auswirkungen auf die Nutzererfahrung festlegen.

  • Optimale Suchergebnisse für Nutzer

  • Reagieren Sie in weniger als 100 ms auf Nutzereingaben.

  • Erzeugen Sie beim Animieren oder Scrollen einen Frame in weniger als 10 ms.

  • Maximieren Sie die Inaktivitätszeit des Hauptthreads.

  • Interaktive Inhalte in weniger als 5.000 ms laden.