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

Game-Lag-Whitepaper › Synchronisationsdesign

Kein Input-Buffering für Skills No input/spell queue

Ursachen-ID sy-no-queue · Hauptzuständig Client-Entwicklung (Entwicklungsteam) · Beteiligt Server-Entwicklung (Entwicklungsteam)

In der interaktiven Fassung mit Grafiken und Experimenten öffnen →

Lässt sich der nächste Skill erst auslösen, wenn der Server das Ende des vorigen bestätigt hat, schiebt sich zwischen alle Skills einer Kombo ein Round Trip.

Warum Nächster Skill-Input wird erst „nach Bestätigung des vorigen Skills“ angenommen → Folge Zwischen zwei Skills jeweils eine Lücke in Höhe des Pings → Auf dem Bildschirm Lücken in jeder Kombo, je höher der Ping, desto weniger DPS

Symptome
Input-Lag, Verschluckte Aktion / Rollback
Faktoren
Latenz
Wer ist betroffen
Nur ich, Nur eine bestimmte Funktion
Wann
Bei bestimmten Aktionen
Zuständigkeit
Hauptzuständig Client-Entwicklung (Entwicklungsteam) · Beteiligt Server-Entwicklung (Entwicklungsteam)
Aufgaben Entwicklungsteam
Client: Zeitfenster fürs Input-Buffering, das Eingaben auch in einer bestimmten Zeit vor Ende des Cooldowns (z. B. 0,3–0,4 s) annimmt und sofort an den Server schickt. Server: etwas zu früh eintreffende Eingaben nicht ablehnen und genau bei Ende des Cooldowns ausführen.
Größenordnungen
Bei einer Kombo mit 1 s Cooldown und 150 ms Ping bleibt zwischen den Skills jeweils mindestens 0,15 s leer. In derselben Zeit lassen sich über 13 % weniger Skills einsetzen.
Im Graphen
Von Anfang an dauerhaft hoch · Lücke zwischen Skills, RTT (Ping)
Wo nachsehen
Im Server-Log pro Charakter Ende des Skill-Cooldowns, Ankunft der nächsten Skill-Anfrage und Ausführungszeitpunkt protokollieren und die Lücke dazwischen mit der RTT des Spielers vergleichen
Spricht dafür
Zwischen Ende des Cooldowns und Ausführung des nächsten Skills liegt immer etwa eine RTT, je höher der Ping, desto länger die Lücke und desto weniger Skills in derselben Zeit
Spricht dagegen
Lücke unabhängig vom Ping konstant: Design von globalem Cooldown oder Animationslänge. Lücke schlägt nur gelegentlich stark aus: Jitter, Paketverlust oder „Überschrittenes Tick-Budget“ prüfen
Prüfmittel
Logs oder Metriken aus Spielserver bzw. Client nötig
Mehr dazu
World of Warcraft zum Beispiel hat ein Zeitfenster fürs Input-Buffering, das Spieler in den Einstellungen anpassen können. Ist das Zeitfenster länger als der Round Trip, schiebt sich kaum noch Ping zwischen die Skills einer Kombo.

Quellen

  1. Latency and Player Actions in Online Games (Communications of the ACM, 2006) ACM
    In EverQuest 2 sinkt mit steigender Latenz der Schaden, den ein Charakter austeilt, und Kämpfe dauern länger (bei 0→500 ms etwa 5 s mehr bei einem Kampf von rund 2 Minuten)

Verwandte Ursachen

Gleiche Schicht: Synchronisationsdesign

Ursachen aus anderen Schichten mit demselben Symptom (Input-Lag)

Karte in der interaktiven Fassung mit Grafiken und Experimenten ansehen