Thema:
Re:Netflix vs. Stadia flat
Autor: X1 Two (deaktiviert)
Datum:24.02.20 09:39
Antwort auf:Re:Netflix vs. Stadia von K!M

>Genaus das geht nicht. Alle möglichen Spielereingaben und Bilder zu cachen ist (noch?) unmöglich.

Na ja, das ist genau das, was Google als "negative latency" bewirbt. Langfristig soll Stadia jede Spielereingabe antizipieren und das entsprechende Ergebnis berechnen, so dass der Frame direkt nach der Übermittlung schon losgeschickt werden kann, statt erst dann überhaupt berechnet zu werden. Das reduziert die Verzögerung nochmal um bis zu 16 ms. Im nächsten Schritt könnte man das auf mehrere Frames voraus so machen. D.h. ich bekomme nicht mehr nur den Frame mit meiner Eingabe zurück, sondern schon alle möglichen Frames, die basierend auf den zur Verfügung stehenden Eingabemethoden überhaupt möglich sind.

Einfaches Beispiel auf dem Startbildschirm: Stadia schickt mir nicht nur den aktuellen Frame, sondern die Variante, wo der Startbutton gedrückt wurde und die, wo er nicht gedrückt wurde. Basierend auf meiner Eingabe wird dann einfach nur zwischen diesen gewählt. Wenn man von einer Verzögerung von 40 ms zum Stadiaserver und einer Berechnung von 16 ms ausgeht (also 56 ms für ein neues Bild), dann müsste Stadia mir 4 Bilder im Voraus schicken, um komplett lagfreies Streaming zu ermöglichen. Aber eben nicht einfach nur vier Bilder, sondern alle Variationen die in den nächsten vier Bildern möglich sind. Und das ist eine Menge. Bei Buttons ist es einfach (auch wenn du die Fälle abfangen musst, wo mehrere Buttons gleichzeitig gedrückt werden). Aber alleine ein Analogstick hat zehntausende mögliche Positionen. Jetzt schick mal z.B. die Daten für alle möglichen Lenkeinschläge eines Autos und deren Auswirkungen auf den nächsten Frame. Und dann alle Variationen für den Frame, der auf diese Frames folgt. Das sind schnell unermessliche Datenmengen, die nicht nur gesendet werden müssen, die vor allem erstmal berechnet werden müssen. Packst du dann für jeden Kunden 100.000 Server in die Cloud? Wohl kaum.

Mit Machine Learning kann man den Prozess vereinfachen, indem man nur die mit hoher Wahrscheinlichkeit korrekten Frames schickt. Aber wenn der Benutzer dann trotzdem sich nicht so verhält wie erwartet? Dann gibt es einen Lagspike. Auch nicht so toll. Ein Ausweg wäre lokale Transformation des letzten Frames. Einen ähnlichen Ansatz hat Crytek verwendet, um 3D-Gaming mit sehr geringem Performanceeinbruch zu realisieren. D.h. der nächste Frame wird aus dem letzten Frame generiert und nicht eigens berechnet. Auch das System kommt an seine Grenzen, wenn sich plötzlich der Bildinhalt komplett ändert. Z.B. wenn ich bei einem Rennspiel nach hinten schaue. Letztlich ist Prediction kaum möglich. Und angesichts der Latenzen von 5G auch nicht wirklich nötig, weil du Innerhalb von 33 ms einen Frame verschicken kannst, d.h. nur 16 ms Verzögerung zusätzlich zwischen Eingabe und Ausgabe hast. Das spürt niemand.


Antworten nicht möglich, siehe Info neben Nickname