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

Game-Lag-Whitepaper › Synchronisationsdesign

Kurze Zeitfenster, die der Ping aufzehrt Timing window too short for latency + reaction

Ursachen-ID sy-short-window · Hauptzuständig Server-Entwicklung (Entwicklungsteam) · Beteiligt Client-Entwicklung (Entwicklungsteam), Server-Infrastruktur (Infrastrukturteam)

In der interaktiven Fassung mit Grafiken und Experimenten öffnen →

Ist die Reaktionszeit für Ausweichen, Parieren oder Blocken kurz, zehrt der Ping sie auf, und manche Angriffe lassen sich gar nicht mehr vermeiden.

Warum Kurze Zeitfenster wie 0,5 s Vorwarnung vor einem Bossangriff oder 0,2 s Parier-Zeitfenster → Folge Vorwarnung kommt spät an (Latenz Server→Client + Interpolation), die eigene Eingabe ebenfalls (Latenz Client→Server + Tick-Wartezeit) → Auf dem Bildschirm Eindeutig ausgewichen und trotzdem getroffen, Parade wird verschluckt

Symptome
Verschluckte Aktion / Rollback, Input-Lag
Faktoren
Latenz
Wer ist betroffen
Nur ich, Nur eine bestimmte Funktion
Wann
Bei bestimmten Aktionen
Zuständigkeit
Hauptzuständig Server-Entwicklung (Entwicklungsteam) · Beteiligt Client-Entwicklung (Entwicklungsteam), Server-Infrastruktur (Infrastrukturteam)
Aufgaben Entwicklungsteam
Server: Vorwarnungen für Angriffe mit Serverzeit vorab einplanen und früh senden, Zeitfenster um den Ping verlängern (Lag-Compensation). Client: empfangene Vorwarnungen zur eingeplanten Serverzeit abspielen.
Aufgaben Infrastrukturteam
Server nahe an Regionen mit vielen Spielern platzieren (regionale Server), um den Ping selbst zu senken.
Größenordnungen
Bei 150 ms Ping und 100 ms Interpolation dauert es etwa 0,18 s, bis die Vorwarnung auf dem eigenen Bildschirm erscheint, und etwa 0,1 s, bis die eigene Eingabe beim Server ankommt. Mit 0,25 s menschlicher Reaktionszeit ist eine Vorwarnung von 0,5 s kaum noch zu schaffen.
Im Graphen
Nur einzelne Ausreißer · Fehlerquote beim Ausweichen und Parieren (nach Ping-Bereich)
Wo nachsehen
Im Server-Log Beginn und Ende des Zeitfensters, Ankunft der Spielereingabe am Server und RTT des Spielers protokollieren, Fehlerquote nach Ping-Bereichen (z. B. in 50-ms-Schritten) aufschlüsseln
Spricht dafür
Je höher der Ping-Bereich, desto deutlich höher die Fehlerquote, und fehlgeschlagene Eingaben treffen kurz nach Ende des Zeitfensters ein (innerhalb von RTT plus Interpolationszeit)
Spricht dagegen
Fehlerquote in allen Ping-Bereichen ähnlich: Schwierigkeit des Angriffsmusters. Eingabe trifft innerhalb des Zeitfensters ein und zählt trotzdem als Fehlschlag: Code der Trefferabfrage oder Servervalidierung prüfen
Prüfmittel
Logs oder Metriken aus Spielserver bzw. Client nötig

Quellen

  1. Factors influencing the latency of simple reaction time (Frontiers in Human Neuroscience, 2015) Frontiers
    Einfache Reaktionszeit im Mittel etwa 231 ms (213 ms nach Korrektur der Gerätelatenz), neuere große Studien 233–400 ms
  2. Latency and Player Actions in Online Games (Communications of the ACM, 2006) ACM
    Je präziser eine Aktion und je kürzer ihre Frist, desto latenzempfindlicher (Grenze bei etwa 100 ms in der Ego-Perspektive, etwa 500 ms in der Third-Person-Perspektive, etwa 1.000 ms in der Gottperspektive)
  3. NetworkTime and ticks (Netcode for GameObjects 2.5) Unity
    Verfahren, bei dem Events zur Serverzeit (ServerTime) eingeplant werden, damit alle Clients sie im selben Moment abspielen

Verwandte Ursachen

Gleiche Schicht: Synchronisationsdesign

Ursachen aus anderen Schichten mit demselben Symptom (Verschluckte Aktion / Rollback)

Karte in der interaktiven Fassung mit Grafiken und Experimenten ansehen