Zeichnet der Client Serverpakete sofort nach dem Empfang, wird der Jitter (Schwankung der Ankunftsabstände) direkt auf dem Bildschirm sichtbar.
Warum Empfangene Position wird sofort gezeichnet, oder der Puffer ist kürzer als der Jitter → Folge Stillstand, solange ein Paket zu spät ist, Sprung, wenn Pakete gebündelt nachkommen → Auf dem Bildschirm Andere Charaktere bewegen sich stockend, Ruck für Ruck
Client: Interpolationspuffer einführen, Pufferlänge automatisch an die Verbindungsqualität anpassen. Server: Lag-Compensation (Zurückspulen bei der Trefferabfrage) einsetzen, damit Treffer auch dann stimmen, wenn auf den um die Pufferlänge älteren Zustand gezielt wird.
Größenordnungen
Üblich ist ein Puffer von etwa dem Doppelten des Sendeintervalls des Servers (bei 20 Paketen pro Sekunde 100 ms).
Im Graphen
Von Anfang an dauerhaft hoch · Paket-Ankunftsabstände, Anzahl leergelaufener Interpolationspuffer
Wo nachsehen
Im Client die Verteilung der Ankunftsabstände von Serverpaketen aufzeichnen sowie die Zahl der Frames, in denen mangels nächstem Snapshot die Bewegung stehen blieb oder auf Extrapolation umgeschaltet wurde
Spricht dafür
Die Schwankung der Ankunftsabstände übersteigt häufig die Länge des Interpolationspuffers, der Puffer läuft dann jedes Mal leer und andere Charaktere stocken. Ein längerer Puffer verringert das
Spricht dagegen
Stockt es trotz ausreichendem Puffer: prüfen, ob schon das Sendeintervall des Servers unregelmäßig ist (Tick-Verzögerung)
Prüfmittel
Logs oder Metriken aus Spielserver bzw. Client nötig
Mehr dazu
Ein längerer Puffer glättet die Bewegung, dafür sieht man den Gegner entsprechend weiter in der Vergangenheit. Deshalb kommt für die Trefferabfrage Lag-Compensation dazu: Der Server spult auf die Vergangenheit zurück, die dieser Spieler gesehen hat, und prüft den Treffer dort.
Physics (Netcode for Entities 6.5)Unity Lag-Compensation: Der Server sucht die Kollisionswelt, die der Client in diesem Tick gesehen hat, und entscheidet dort über Treffer