Dodaj do ulubionych

Opóźnienie OnLive - mały test dla każdego

09.07.10, 17:24
Z cyklu "Łopatologia stosowana", a zaczęło się od tego wątku:

gamecorner.pl/gamecorner/1,86013,8116666,OnLive___jak_sie_sprawdza_w_tescie_opoznien_.html
Napisałem tam @Sławkowi, że napiszę prostą aplikację pokazującą opóźnienie w
strumieniowaniu w praktyce i porównującą do lokalnie odpalonej gry. Jak
obiecałem tak zrobiłem. Odpisałem w tym samym wątku, ale ten juz uciekł
daleko, a szkoda mi lunchu, który poświęciłem na napisanie tej gierki wink

Poniżej przeklejam swój komentarz:

Gra-test do ściągnięcia tutaj:

rapidshare.com/files/405950385/DelayTest.jar
Napisałem to w Javie, więc jest cross-platformowa. Pamiętacie "Galaga", to coś
w tym rodzaju, ale to nie jest istotne.

O co w tym chodzi? Otóż po odpaleniu ( wymagana java 1.6 ) pojawi się okno, w
którym będą dwa viewporty. Ten po lewej to gra odpalona lokalnie, ten po
prawiej symuluje strumieniowanie. W polu tekstowym można wpisać wartość od 0
do 30. Jest to liczba klatek opóźnienia. Gra przyjmuje, że jedna klatka to
33ms czyli lock framerate'u jest na 30FPS ( aczkolwiek to java i Swing, więc
może chrupać, niewiele na to mogę poradzić, ale chodzi o koncept, generalnie
jak lewy chrupnie to i prawy chrupnie, na jedno wyjdzie ). Jako test polecam
wpisać np. 10fps i próbować grać używając tylko prawego viewportu.

Jeszcze krótka instrukcja jak to odpalić. Powinno się dać po prostu klikając
na plik JAR, a jeśli ktoś chce "z palucha", to w command line: java -jar
DelayTest.jar

Sterowanie - lewo, prawo, spacja by strzelić oraz jeśli wpiszemy jakąś liczbę
w polu tekstowym, to może zajść konieczność naciśnięcia TAB, by przywrócić
focus głównemu oknu gry.

Jeszcze co do opóźnienia o którym @Sławek pisał. Jeśli gra lokalnie ma
opóźnienie między reakcją na przycisk i akcją na ekranie, to oznacza, że ta
sama gra będzie miała takie opóźnienie również w OnLive i wypadałoby to dodać.
W każdym razie jest to w dużej mierze kwestia designu, jeśli chodzi o drogę
kontroler->akcja i nie dotyczy tylko gier konsolowych.

Co mi dał ten test? Z jednej strony sam przekonałem się, że przy pewnym
rodzaju gier może nie być tak źle. Poślizg przy 5-6 klatkach ( 33ms * 6 =
196ms ) jest zauważalny, ale chyba przy strategiach i innych niezbyt
dynamicznych grach nie będzie raczej odgrywał znacznej roli. Sieć ma jednak to
do siebie, że lubi sobie "beknąć" i raz będzie 200ms, a raz skoczy do 1000ms i
tu zaczną się zapewne nerwy, bo to co strumień już wysłał musi zostać
przetrawione nim serwer skoryguje "frameskip" i zacznie dosyłać "aktualny"
obraz. Takie "czkawki" będą miały z pewnością wpływ na rozgrywkę i nim nastąpi
korekta to opóźnienie może po prostu rosnąć.

A to co @Sławkowi chciałem pokazać, to fakt, że sam świat gry lokalnie się nie
opóźnia, natomiast w strumieniowaniu opóźnione jest wszystko. Stąd np.
programista ( no i animatorzy ) ma wpływ na to, kiedy lokalnie postać
rozpocznie ruch oraz kiedy się zatrzyma ( to że strzał np. zabiera 200ms to
nie znaczy, że obrót, czy ruch również tyle zjedzą, tu wiele naprawdę zależy
od kodu gry i animacji ), w przypadku OnLive nie będzie już nad tym kontroli,
świat gry będzie szedł kilka klatek przed tym co widzi gracz, w
przeciwieństwie do gry lokalniej.

Have fun wink
Obserwuj wątek
    • slawomir.serafin Re: Opóźnienie OnLive - mały test dla każdego 09.07.10, 21:15
      rządzisz, tyle powiem smile więcej jak będę miał chwilę żeby obczaić gierkę smile
    • neonesis Re: Opóźnienie OnLive - mały test dla każdego 09.07.10, 21:34
      Cóż, przy 330 ms (10 frames) widać już opóźnienie. Akurat w takiej grze znaczenia to ono nie ma zbyt, każdy widzi o co chodzi. Dobra robota j_uk_dev wink Teraz możemy się tylko zastanawiać czy dokładnie tak działa OnLive, i jak duże będzie mieć w przyszłości (i w Polsce, jeśli będzie) opóźnienia.

      BTW: Zajmujesz się developerką gier, czy aplikacji? Dla pieniędzy, nie dla hobby wink
      • j_uk_dev Re: Opóźnienie OnLive - mały test dla każdego 11.07.10, 20:34
        Lata temu hobby ( od C64 ), teraz ( od ~10 lat ) żyję z tego, ale ciągle jest
        to moje hobby ( no.. jedno z nich smile ). A jak się nudzę w pracy ( a przyznam, że
        piątek miałem wyjątkowo luźny ), to i na GC coś napiszę, jak np. tę prostą gierkę wink
    • bunch Re: Opóźnienie OnLive - mały test dla każdego 09.07.10, 22:07
      Mi nie działa. To pewnie przez Javę, która z niewiadomych mi przyczyn, nie działa i nie chce się zainstalować żadna z wersji.
      • lehusan Re: Opóźnienie OnLive - mały test dla każdego 09.07.10, 22:35
        potraktuj swój system tym programikiem i spróbuj zainstalować najnowszą wersję javy,
        cytat (za programosy.pl) "JavaRa jest prostym, darmowym narzędziem które usuwa stare i zbędne wersje środowiska Java Runtime, oraz pozwala znaleźć najnowszą wersją JRE. Program jest bardzo prosty w obsłudze, po uruchomieniu wybieramy "Usuń starsze wersje" i program usuwa stare wersje Java Runtime, po wykonanej operacji wyświetlany jest log z zapisem wykonanych czynności. Programos nie wymaga instalacji." www.programosy.pl/program,javara.html
        • bunch Re: Opóźnienie OnLive - mały test dla każdego 11.07.10, 03:57
          Niestety nie działa. Problem jest cały czas. Pisałem o tym wszędzie, nawet tu. Of-Topowo tak tym razem.
    • buczysyn :) 09.07.10, 23:32
      Uważam że że j_uk_dev powinien przejąć ten blog i wywalić was z roboty bo sie
      nie znacie wink. A poważnie przy wpisaniu 30 lag jest już odczuwalny
    • jozi02 Fajne 10.07.10, 00:04
      Cóż powiedzieć - J_JuKej_Dev po raz kolejny odwalił kawał dobrej roboty smile
    • ash-prawdziwy czapki z głów dla tego pana 10.07.10, 09:41
      dziękuję że chciało Ci się zrobić coś takiego i wyjaśnić obrazowo temat takim
      żuczkom jak np. ja
      • ufofaflik Re: czapki z głów dla tego pana 10.07.10, 11:00
        www.youtube.com/watch?v=Edf5xsqST90 obczajcie se filmik z testu lagu w usa. Jak
        na moje onlive miazdzy. A i samo 200 ms to nie jest duzo. Duzo to 300 i wiecej, ale przy
        200 mozna spokojnie pykac w wiekszosc gier.
        • galnospoke Znow kolejny klamliwy filmik 10.07.10, 11:40
          sponosorwany przez OnLive. Poczytaj pod nim komentarze. Dla mnie OnLive jest tak samo wiarygodny jak belkot politykow.
        • simplex Niezalezny test OnLive 10.07.10, 20:54
          www.eurogamer.net/articles/digitalfoundry-vs-onlive-article
        • j_uk_dev Re: czapki z głów dla tego pana 11.07.10, 20:31
          Ależ to samo wynika dokładnie z tej gry, którą napisałem. Opóźnienie w jej
          przypadku 6 klatek co przekłada się na 33ms * 6 = 198ms nie utrudnia aż tak
          rozgrywki. Przy szybkich dynamicznych grach na pewno będzie to problem, zaś przy
          innych tytułach już niekoniecznie smile Zamieszczona przeze mnie aplikacja daje
          mniej więcej podobne rezultaty. Przy 200ms opóźnienienia w grę jak Galaga pograsz smile
    • simplex Niezalezny test OnLive 10.07.10, 20:54
      www.eurogamer.net/articles/digitalfoundry-vs-onlive-article
      • b4sh Re: Niezalezny test OnLive 10.07.10, 21:58
        simplex napisał:

        > www.eurogamer.net/articles/digitalfoundry-vs-onlive-article

        Ten test utwierdza mnie w przekonaniu, że wielkiego sukcesu nie ma co się spodziewać.
        Onlive to wielka degradacja jakości w dól + ceny jak za pudełkowe wersje. Nie wiem kto
        będzie tak naiwny żeby za to płacić. Na pewno nie ludzie, którzy teraz mają PCty czy
        konsole...

Nie masz jeszcze konta? Zarejestruj się


Nakarm Pajacyka