Seiten: 1 2 3

Das Lag’o’meter

Ein paar Grundlagen, die ihr wissen solltet:

Jeder CODUO/COD4 Server sendet mit einer fps (frames per second) von 20. Das bedeutet, es werden an jeden Client (euren Computer) 20 Bilder pro Sekunde gesendet, also alle 50 Millisekunden einer. Diese „Bilder“ werden auch „Snapshots“ genannt.
Diese Snapshots werden von eurem System incl. Grafikkarte „gerendert“ (weiterverarbeitet), so dass ihr die Ereignisse auf dem Server aus eurer Sicht und von eurem Standpunkt aus seht.

Nun haben die meisten „Clients“ eine weit höhere fps eingestellt (Standard ist 80).
Jeder Client berechnet selbstständig (rendert) zwischen den empfangenen Snapshots vom Server eigene snapshots, so kommt die höhere Anzahl von fps zustande.

Wenn ein Spieler zwischen 2 gesendeten Snapshots von A nach B läuft, ist klar, dass zwischen diesen beiden Punkten eine kürzeste Verbindung, eine Gerade liegt. Auf dieser Geraden kann man beliebig viele Punkte berechnen (interpolieren). Genau dieses macht euer System und erhöht damit die fps, die bei euch ausgegeben werden, so dass ihr eine flüssige Darstellung der Spielwelt und primär der sich bewegenden Objekte (Spieler) erhaltet.

Das Lagometer zeigt euch 2 verschiedene Bereiche, die durch eine dicke, gestrichelte, weiße Linie getrennt sind.

Der Bereich über den Balken (OBEN) ist die Anzeige der gerenderten Frames eures Systems (Clients),

der Bereich unter dem weißen Balken ist die Anzeige der Frames, die euer Client vom Server empfängt.

Jeder Punkt im oberen Bereich gibt einen Frame wieder, der von eurem System gerendert wird.
Jeder Punkt im unteren Bereich gibt einen Frame wieder, der vom Server gesendet und von euch empfangen wird.
Daher läuft die obere Linie stets schneller, als díe untere.

Zu den Lagometer Beispielen oben:

Nr. 1 ist eine normales, stabile Lagometer Anzeige mit einer gleichmäßigen, flachen (je höher desto höher der Ping) grünen Linie.
Oben befindet sich eine durchgehende, blaue Linie mit wenigen gelben Punkten. Diese gelben Punkte bedeuten, dass euer System ein paar mal „interpoliert“ hat, um zwischen den vom Server gesendeten Snapshosts zu berechnen, wo z.B. sich bewegende Objekte auf der Karte aufhalten, weil die Informationen vom Server gerade nicht vorhanden waren.

Nr. 2 Nummer 2 enthält viele gelbe Dreiecke über der blauen Linie, aber es sind immer noch blaue Punkte dazwischen.
Die gelben Dreiecke bedeuten, dass euer System aufgrund fehlender Serverdaten „Snapshots“ extrapoliert, das heißt, berechnet, wo sich die betreffenden Objekte wahrscheinlich aufhalten.

Die Höhe der gelben Dreiecke zeigt die Zeit zwischen dem letzten und dem nächsten empfangenen Snapshot vom Server dauert. Je höher das Dreieck, desto mehr Zeit liegt dazwischen. Daher steigt das Dreiecke steil an, bis wieder ein Seversnapshot empfangen wird, das Dreieck fällt dann abrupt ab.

In diesem Fall wird der Client, bzw. die Objekte sofort dahin zurückgesetzt (auf der map) wo er/sie nach den Informationen des Servers sein sollte(n).

Das kann natürlich auch woanders sein, als der Client es selbstständig berechnet (extrapoliert) hatte. In diesem Beispiel würde das Spiel ruckeln, da die gelben Dreiecke fortlaufend auftauchen (extrapolieren/korrigieren/extrapolieren/korrigieren/usw.)

Nr. 3 zeigt einen typischen Lag an. Ein Dreieck am Ende des Lagometers, das steil nach oben geht. Es vergeht eine lange Zeit ohne empfangenen Snapshot vom Server. In der grünen Linie unterhalb des Balkens sind Ausschläge nach oben zu erkennen, ein Anzeichen von plötzlichen, kurzfristigen Pingschwankungen.

Nr. 4 zeigt rote Ausschläge, was bedeutet, das Snapshots verloren gegangen sind. Entweder, wegen „Packet loss“ aufgrund einer schlechten Verbindung / Einstellungen, oder weil die CPU sie nicht verarbeiten kann (z.b. aufgrund von Überbeanspruchung durch im Hintergrund laufende Vorgänge, vom Client gemachter Screenshots oder aufgrund zu wenig Rechenleistung).

COD basiert auf der Quake 3 Engine, diese Engine benutzt „UDP-Packets“ zur Datenübermittlung, weil diese klein und einfach zu übermitteln sind. Wenn diese Pakete einmal abgesendet wurden, werden sie vom Server vergessen und sind verloren. Sie besitzen keine Möglichkeit zur Fehlerkorrektur oder zur wiederholten Übermittlung.

Rote Spitzen wie in diesem Beispiel kommen von Zeit zu Zeit vor und sind nicht wirklich schlimm, solange sie nicht breiter werden (jeder Punkt in diesen Ausschlägen ist ein Snapshot, je breiter die rote Linie, desto mehr Snapshots gehen verloren). Die Höhe wird in etwa immer gleich sein und ist nicht zu beachten.

Nr 5 zeigt ein großes, gelbes Dreieck welches sich im Spiel durch ein „Einfrieren“ bemerkbar machen würde, gefolgt von einem „teleportieren“ zu einem anderen Punkt, wenn wieder korrekte Informationen vom Server empfangen werden.

Zur Erinnerung: Gelb bedeutet immer, dass der Client aufgrund fehlender Informationen vom Server abzuschätzen versucht, wo sich die Spieler aufhalten.

Nr. 6 zeigt einen langen, zusammenhängenden gelben Bereich. Bei diesem Beispiel würde sich der Spieler schliddernd oder „Gummibandartig“ auf der Spielfläche hin und her bewegen, von Punkt zu Punkt, wo der Server ihn zwischendurch mal wieder lokalisiert.

Dieser Lagometer Schnappschuss ist nicht typisch für diesen Effekt, weil er durch viele aufeinander folgende Screenshots nacheinander ausgelöst wurde. Typisch für das genannte Verhalten wäre jedoch ein steil ansteigendes, die gesamte obere Fläche ausfüllendes Gelb.

Seiten: 1 2 3

© European FightClub
since 2006!