r   e   k   l   a   m   a
r   e   k   l   a   m   a

Microsoftowa „maszyna czasu” otwiera drogę do streamingu gier bez lagów

Strona główna AktualnościOPROGRAMOWANIE

Przeniesienie gier do chmur obliczeniowych (Gaming-as-a-Service, GaaS) jest znacznie trudniejszą sprawą, niż np. przeniesienie do chmur edytorów tekstu. Nawet jeśli zapewnić w chmurze odpowiednio wydajną serwerową instancję, na której działałby kod gry, to wciąż problemem pozostaje zapewnienie infrastruktury sieciowej o odpowiedniej przepustowości, która pozwoliłaby na interaktywne „pompowanie” do cienkiego klienta (w tym wypadku np. tabletu czy telefonu) wysokorozdzielczej grafiki w kilkudziesięciu klatkach na sekundę. Bardzo ciekawy pomysł w tej sprawie zaproponował Microsoft – rozwiązanie jego badaczy jest swoistą „maszyną czasu”, dzięki której opóźnienia sieciowe przestają mieć znaczenie.

Dla producentów gier usługi, które pozwoliłyby grać w najnowsze gry na relatywnie słabych urządzeniach, takich jak przenośne konsole, tablety, smartfony czy komputerki HTPC, to spełnienie marzeń. Typowy niedzielny gracz nie dysponuje maszyną spełniającą wyśrubowane wymogi wydawanych dziś tytułów, osób takich jest dziś zaś znacznie więcej, niż hobbystów z ich potężnymi CPU i GPU. I już dziś pewne propozycje w tym zakresie można znaleźć – usługi takie jak NVIDIA Grid czy OnLive pozwalają na granie na całej gamie słabszych urządzeń, ale jakość grafiki i płynność rozgrywki sporo odbiegają od tego, co zapewnić może gra uruchomiona lokalnie.

Wymagania stawiane przez dostawców GaaS wcale nie są jakoś wygórowane – szerokopasmowe łącze 3-5 Mb/s nie jest w tych czasach niczym specjalnym. Jednak żaden dostawca Internetu nie zapewni (i nie może zapewnić) odpowiednio niskich opóźnień na trasie między klientem a chmurowym serwerem, na którym uruchomiono grę. By zapewnić w miarę znośny czas komunikacji w obie strony, od wysłania pakietów kodujących aktywność gracza od klienta na serwer do odesłania klientowi pakietów z wyrenderowanym widokiem gry, zmniejsza się rozdzielczość (w najlepszym razie zapewniając 720p) i stosuje pogarszającą jakość obrazu kompresję.

r   e   k   l   a   m   a

Testowany już pomysł badaczy z Microsoft Research rozwiązuje problem lagów w Sieci w dość niespodziewany sposób. Rozwijane pod nazwą kodową „DeLorean” (by nawiązać do słynnej maszyny czasu dra Emmeta Browna) oprogramowanie wykorzystuje kilka różnych technik, aby w kompleksowy sposób wyeliminować opóźnienia. Są to przewidywanie przyszłych działań gracza, próbkowanie przestrzeni stanów, kompensowanie błędnych przewidywań i klasyczna już kompresja danych.

Powstała w ten sposób „maszyna czasu” działa następująco: gracz uruchamia np. na tablecie FPS z listy tytułów dostępnych na gamingowym serwerze. DeLorean wywołuje wówczas kilka dodatkowych instancji gry, w których renderowane są przyszłe stany gry na podstawie analizy możliwych działań gracza. Jeden z takich stanów może opisywać np. przesunięcie się w lewo za zasłonę, inny skok w prawo. Wyliczone prawdopodobne stany przekazywane są do głównego serwera, który w momencie otrzymania informacji o faktycznym ruchu gracza zwraca prerenderowaną scenę.

Niektóre z akcji gracza, takie jak strzelanie, są bardzo trudne do przewidzenia, więc oprogramowanie wykorzystuje równoległe spekulatywne działania do eksplorowania wielu możliwych przyszłości. Przestrzeń możliwych stanów bardzo szybko jednak wówczas „puchnie”, więc wykorzystując technikę podpróbkowania przestrzeni stanów i przesunięcia w czasie strumienia zdarzeń znacząco zmniejsza się zbiór możliwych wyników, praktycznie bez pogorszenia interakcji z grą.

Siłą DeLoreana ma być samouczący się algorytm, który na podstawie dotychczasowych zachowań gracza buduje model jego najbardziej prawdopodobnych zachowań, wykorzystywany przy wyborze posunięć do prerenderowania. Jeśli jednak okaże się, że żadna z prerenderowanych scen nie okazała się trafiona, gracz zrobił coś nieprzewidzianego, to oprogramowanie Microsoftu potrafi przynajmniej oszacować, jak bardzo się pomyliło – i na tej podstawie wykorzystać już wyrenderowane sceny do szybkiego zbudowania oczekiwanego widoku.

Eksperymentalny zestaw, na którym testowano DeLoreana nie miał wyśrubowanych parametrów sprzętowych – czterordzeniowy Intel Core i7, 16 GB RAM i karta graficzna NVIDIA GTX 680 z 4 GB RAM pozwoliły na wyeliminowanie opóźnień na poziomie nawet 250 ms, czyniąc możliwym granie w takie gry jak Fable 3 czy Doom 3 na urządzeniach mobilnych po połączeniach 3G. Opinie testujących system graczy to potwierdzały. Opóźnienie w sieci na poziomie 64 ms (bez DeLoreana) zostało skomentowane następująco: OK, mogę grać, ale to nie dla eksperta, zaś 256 ms – znienawidziłem to, za trudno by grać. Tymczasem wystarczyło uruchomić oprogramowanie Microsoftu, by grający przez sieć z opóźnieniem 256 ms gracz stwierdził myślałem, że grałem w oryginał. Jeśli nawet to nie było wzorowe, to było bardzo dobre.

O szczegółach rozwiązania możecie poczytać w pracy pt. DeLorean: Using Speculation to Enable Low-Latency Continuous Interaction for Cloud Gaming, dostępnej do pobrania ze stron Microsoft Research. Nie wiadomo jeszcze, kiedy oprogramowanie stanie się częścią chmur gamingowych (GaaS), ale biorąc pod uwagę dojrzałość rozwiązania i jego niskie wymogi sprzętowe, powinno to stać się raczej w bliższej niż dalszej przyszłości.

© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.