한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

Game-Lag-Whitepaper › L1 Spielprozess auf dem Client

Frametime-Spikes Frame hitch

Ursachen-ID cg-hitch · Hauptzuständig Client-Entwicklung (Entwicklungsteam)

In der interaktiven Fassung mit Grafiken und Experimenten öffnen →

Die Berechnung eines einzelnen Frames dauert ein Vielfaches länger als sonst, und das Bild bleibt kurz stehen.

Warum Massenhaft Skill-Effekte, Massen-Spawns und ein Neuaufbau der gesamten UI fallen in denselben Frame → Folge Der Frame braucht 50–300 ms, das Budget liegt bei 16,7 ms → Auf dem Bildschirm Bild stockt kurz, im nächsten Frame springen alle auf einmal weiter

Symptome
Ruckeln, Freeze
Faktoren
Stillstand
Wer ist betroffen
Nur ich
Wann
Bei großem Andrang, Bei bestimmten Aktionen, Gelegentlich, zufällig
Zuständigkeit
Hauptzuständig Client-Entwicklung (Entwicklungsteam)
Aufgaben Entwicklungsteam
Schwere Aufgaben auf mehrere Frames verteilen, Ausreißer-Frames mit dem Profiler finden, Obergrenze für die Zahl der Effekte.
Größenordnungen
Bei 60 FPS dauert ein Frame 16,7 ms. Schon ein einziger Frame über 50 ms wird oft als Ruckeln wahrgenommen.
Im Graphen
Vereinzelte Spitzen ohne Muster · Frametime
Wo nachsehen
Mit PresentMon während des Spielens die Frametime (FrameTime) und die Zeit aufzeichnen, die CPU und GPU für den Frame gebraucht haben (CPUBusy, GPUBusy). Auf Mobilgeräten die Metriken zu langsamen Sitzungen und langsamem Rendering in Android Vitals
Spricht dafür
Frametime liegt sonst bei etwa 16,7 ms und schießt genau dann über 50 ms hoch, wenn Skill-Animationen, Massen-Spawns oder ein Neuaufbau der gesamten UI laufen. Der Ping bleibt dabei unverändert
Spricht dagegen
Frametime gleichmäßig, aber nur andere Charaktere stocken: Netzwerkseite, etwa „Fehlender oder zu kurzer Interpolationspuffer“. Ausschläge in regelmäßigen Abständen: zuerst „Garbage Collection auf dem Client“ prüfen
Prüfmittel
Prüfung in der Umgebung des Spielers

Quellen

  1. Slow rendering Android (Google)
    Für 60 FPS muss ein Frame in 16 ms gezeichnet sein. Dauert es länger, werden Frames übersprungen, sichtbar als Ruckeln (Jank)
  2. Slow Sessions (games only) Android (Google)
    Android Vitals wertet Spiel-Frames über 50 ms (20 FPS) bzw. über 34 ms (30 FPS) als langsame Frames
  3. PresentMon Capture Application (README-CaptureApplication.md) Intel
    FrameTime (CPU-Zeit zwischen Frames), CPUBusy/GPUBusy (Zeit, die CPU bzw. GPU für diesen Frame gebraucht haben)

Verwandte Ursachen

Gleiche Schicht: L1 Spielprozess auf dem Client

Ursachen aus anderen Schichten mit demselben Symptom (Ruckeln)

Karte in der interaktiven Fassung mit Grafiken und Experimenten ansehen