Videospiele: Der Lag-Faktor
Auf Kriegsfuß mit der Eingabe-Latenz
Das Spiel reagiert nicht. Es ist träge. Das Joypad verhält sich nicht so, wie es soll. Die Steuerung ist Schrott. Tester und Spieler können aufgrund dessen einen Titel schnell in der Versenkung verschwinden lassen. Und das natürlich zurecht, wenn es das Spiel verdient. Aber zumindest sollte es möglich sein, das zu quantifizieren, was bekannt ist unter dem Stichwort Steuerungs-Latenz. Die menschliche Wahrnehmung ist dafür ein ziemlich unpräzises Instrument, genauso wie Frame-Rate-Schätzungen, die sich nur zu gerne in Testberichte einschleichen. Um der Sache auf den Grund zu gehen, ist ein wissenschaftlicherer Ansatz notwendig.
Wenn eine Grundlage mit Beweisen geschaffen werden könnte, würden Spieletester ihre Leser besser informatieren können. Und noch viel wichtiger: Entwickler könnten davon profitieren, um ungewollte Lazenz aus ihrem Code zu verbannen. Alle Spieler würden tollere, flüssigere und besser reagierende Spiele bekommen.
"Unser Mantra '60FPS 60 FPS!' wäre überhaupt nichts wert, wenn wir eine schreckliche Steuerungs-Latenz hätten", sagt Infinity Wards Drew McCoy. "Es ist extrem hilfreich, das physikalische, messbare Ergebnis von dem zu sehen, was sich in unserem Spiel abspielt. Vor allem bei Änderungen oder wenn sich jemand im Büro darüber beschwert, dass sich etwas 'nicht richtig anfühlt'. Wenn einen wirklich interessiert, wie der Endkunde später das Spiel erlebt, dann sollte man sehr viel in die Steuerungs-Latenz investieren."
Alex Fry, Senior Engineer bei Criterion, stimmte in unserem umfangreichen Burnout Tech-Interview [englisch] zu: "Wir versuchen, die Latenz so niedrig zu kriegen, wie es nur irgendwie geht. Es ist dann einfach ein viel besseres Erlebnis. Es ist einer der Gründe, warum Burnout mit 60FPS läuft."
Die Steuerungs-Latenz ist mit allgemeinen Worten sehr einfach zu definieren. Die Zeit, üblicherweise gemessen in Frames oder Millisekunden, die benötigt wird, um die Eingabe über einen Controller in eine sichtbare Aktion auf dem Bildschirm zu verwandeln. Je höher die Verzögerung, desto langsamer reagiert die Steuerung - und umso unbefriedigender kann sich das Spielerlebnis anfühlen.
Die Methodik, um Gameplay-Lag zu messen, ist erstaunlich einfach und wurde zum ersten Mal von Neversofts Co-Gründer Mick West in diesem Gamasutra-Artikel angesprochen, der sich sowohl mit einer Erklärung für die Messtechnik als auch Zahlen für die beliebtesten Videospiele beschäftigte. Es ist leicht, sehr gute Ergebnisse zu bekommen: Eine Kamera, die in der Lage ist, mit 60FPS aufzunehmen, muss vor einen Monitor gestellt werden und dann wird das Geschehen auf dem Bildschirm zusammen mit dem Controller in einer Einstellung aufgenommen. Mick West benutzte eine Canon-Digitalkamera für diese Aufgabe, ich nahm jedoch eine Kodak Zi6, weil sie günstiger ist und 720p60 HD-Funktionalität bietet. Wenn man erst einmal seine Video-Clips aufgenommen hat, zählt man einfach die Frames, die vergehen, nachdem man einen Button gedrückt hat, bis etwas auf dem Screen passiert. Weil jeder Frame für 16.67ms auf dem Bildschirm bleibt, muss dieses Ergebnis noch mit der Anzahl an Frames multipliziert werden - und schon hat man die Latenz.
Natürlich gibt es in der Praxis Komplikationen mit dieser grundlegenden Theorie. LCD-Displays haben ihre eigene Latenz. Das Processing und Scaling kann bis zu fünf Frames in Anspruch nehmen, abhängig davon, wie alt und klapprig der Flatscreen ist. Wests Lösung war genial: Eine Messung mit Hilfe eines CRT-Bildschirms (ohne Latenz) und anschließend die gleiche Messung mit dem Flatscreen, um die Latenz herausfinden und herausrechnen zu können. Dieses im Hinterkopf, konnte ich feststellen, dass mein alter, aber immer noch hervorragender Dell 2405FPW bei 720p ein Lag von drei Frames produziert (50ms!) und zwei Frames bei 1080p. Das war weniger überraschend, weil 1080p viel näher an die native Auflösung des Bildschirms von 1920x1200 herankommt. Netter Screen, aber miserable Latenz.
Dass Neversoft, als Entwickler der neuesten Guitar Hero-Spiele, bei denen die Latenz eine herausragende Rolle spielt, so viel Interesse an diesem Thema zeigte, erscheint wenig verwunderlich - und Mick Wests Schlüsse daraus sind faszinierend.
- Die niedrigste Latenz in einem Videospiel liegt bei 50ms (drei Frames) - die PS3 XMB läuft mit dieser Rate, aber wenige Spiele erreichen diese Latenz.
- Die meisten 60FPS-Spiele haben eine Latenz von 66,67ms - Ridge Racer 7 zum Beispiel.
- 30FPS-Spiele haben ein potentielles Lag von mindestens 100ms, aber viele schießen darüber hinaus.
- Entwickler sollten ihre eigenen Spiele mit der genannten Kamera-Technik überprüfen, um Bugs zu eleminieren. West sagt, dass Heavenly Sword runter geht bis auf 300ms - und zwar nur dadurch, dass man den Charakter herumdreht. Er glaubt, das wäre ein technisches Problem, das man hätte lösen können, bevor das Spiel "Gold gegangen" ist.
- West glaubt, dass 166ms eine Grenze darstellt, ab der Lag vom Spieler tatsächlich bemerkt wird und er wählt dabei GTA IV als Beispiel. Es könnte auch den Aufruhr bezüglich Killzone 2 erklären.
- Tester sollten Lag akkurat für ihre Rezensionen messen, wenn Steuerungs-Latenz als Problem vorliegt; mit der Hoffnung, dass das Problem der Response-Zeiten dadurch genauer untersucht wird.
West beim Wort nehmend, entschied ich mich das auszuprobieren. Und obwohl erste Tests erfolgreich ausfielen, stolperte ich sehr bald über Probleme. Während die Methodik wunderbar funktioniert, hängt das Zählen der Frames tatsächlich stark vom allerersten Frame ab, vom "Zero Frame": Der Punkt, an dem der Joypad-Button voll gedrückt ist und ab dem man zählen muss. Der einzige Weg, um die Ergebnisse zu verifizieren, lag für mich darin, die Tests immer und immer wieder zu wiederholen und sie zu überprüfen, bis ein allgemeingültiges Resultat offensichtlich wurde. Hier sind meine anfänglichen Bemühungen mit Killzone 2:
Anhand dieses Videos sehen wir bei der voll gepatchten Version von Killzone 2 eine Latenz von zwölf Frames. Ziehen wir die drei Frames ab, die durch das Display produziert werden, bleibt ein "Ping" von 150ms zwischen Spieler-Aktion und Umsetzung auf dem Bildschirm. Nun, viele Leute haben sich über das träge Steuerungsverhalten von Killzone 2 beschwert - bis es schließlich gepatchet wurde. Obwohl aus meiner Sicht die analoge "Todeszone" der Hauptfokus der Verbesserungen war.
Aber der Aufwand, um nur eine Versuchsreihe so hinzukriegen, dass ich damit glücklich war, war genug, um erst einmal eine Pause einzulegen. Für einen Artikel, in dem Genauigkeit das wichtigste ist, konnte ich einfach nicht weitermachen, ohne noch einmal darüber nachzudenken.
Zum Glück haben schlauere Köpfe als meiner das Denken für mich übernommen. Infinity Ward - Entwickler der Call of Duty-Reihe - liebten Mick Wests Artikel und benutzten seine Technik, um unnötiges Lag aus ihren Spielen herauszukriegen. Auch sie wollten die Methodik verbessern, indem sie das "Zero Frame"-Problem umgingen und die ganze Übung einfacher aufsetzten.