Liegt die vom Client geschätzte Serverzeit falsch, hält er gerade eingetroffene Objektdaten als „noch in der Zukunft“ zurück oder verwirft sie als „zu alt“.
Warum Schätzung der Serverzeit weicht bei einem Client stark ab (Messung während des Ladens, Rückkehr aus dem Energiesparmodus) → Folge Referenzzeit der Interpolation und Zeitstempel der Objektdaten passen nicht zusammen → Auf dem Bildschirm Objekte erscheinen spät oder stehen bewegungslos da
Zeitsynchronisation regelmäßig wiederholen und bei großer Abweichung sofort zurücksetzen, während des Ladens oder direkt nach dem Aufwachen gemessene Werte nicht verwenden.
Im Graphen
Nur einzelne Ausreißer · Fehler der geschätzten Serverzeit pro Client
Wo nachsehen
Im Client geschätzte Serverzeit, RTT, Zeitpunkte erneuter Zeitsynchronisation und die Zahl zurückgehaltener oder verworfener Objektdaten protokollieren. Direkt nach dem Laden oder nach dem Aufwachen aus dem Energiesparmodus nachstellen
Spricht dafür
Nur beim betroffenen Client überschreitet der Schätzfehler die Reset-Schwelle (Unity: hardResetThresholdSec, Standard 0,2 s), es gibt Einträge über als zukünftig zurückgehaltene oder als veraltet verworfene Objektdaten, und nach erneuter Zeitsynchronisation ist sofort alles normal
Spricht dagegen
Schätzfehler klein und Objekte trotzdem spät: „Sendebudget und Priorität pro Verbindung“ oder Ursachen beim Laden
Prüfmittel
Logs oder Metriken aus Spielserver bzw. Client nötig
Quellen
NetworkTimeSystem class (Netcode for GameObjects 2.5)Unity Übersteigt die Zeitdifferenz hardResetThresholdSec (Standard 0,2 s), wird hart angeglichen, sonst über adjustmentRatio schrittweise schneller oder langsamer nachgeführt