A felhőben játszani jó! Vagy mégsem?

Az elméleti működés nem éppen biztató

Sokat hallottunk már a számítási felhőről. Az elképzelés borzasztóan egyszerű alapokra épül, vagyis a felhasználó által használt kliens helyett a program számításait egy interneten keresztül elérhető kiszolgáló dolgozza fel, majd az eredményt visszaküldi a kliens számára. Ez az elv számtalan helyzetben kiválóan működik, így adja magát az ötlet, hogy a játékok futtatását rá lehetne-e bízni a felhő erejére. Természetesen a válasz igen, de kérdés, hogy megéri-e, vannak-e buktatók, illetve az élmény mennyire lesz meggyőző. A felhős játék láthatóan érdekli a hardvergyártókat is. Az AMD már konkrétan erre a feladatra tervezett szervert is kínál, mely Fusion Render Cloud fantázianéven érhető el. Természetesen az NVIDIA sem rejtette véka alá, hogy az ötlet érdekli őket, míg az Intel anyagilag is komolyan támogatja a technológia kiterjesztését.

Mielőtt a gyakorlati tapasztalatokat bitekbe öntenénk, érdemes az elméleti részt elemezni, mivel komoly különbségek vannak a kliensgépen történő teljes feldolgozáshoz képest. Ahhoz, hogy ez érthető legyen, nagy vonalakban szemléltetjük, hogy manapság miképp működik egy kliensgépen futtatott PC-s játék. A felhasználó a beviteli eszközökkel vezérli a programot. Lényegében egy-egy gomb lenyomása egy-egy parancsot jelent, melyek az adott összeköttetésen keresztül eljutnak a masinába. A különböző szoftveres rétegeken áthaladva a kiadott utasítást a központi processzor feldolgozza, és elkezdi kiszámítani a jelenetet. A játékosnak persze szükséges egy visszajelzés, ami egy virtuális kamerán keresztül valósul meg. A jelenetben a játékos helyzetét a kamera határozza meg, ám ezt látható formába kell önteni. Itt kerül előtérbe a grafikus processzor, melynek a CPU átadja a szükséges információkat, hogy a felhasználó számára látható jelenetrészletből egy képkocka készüljön. A kiszámolt képkockát ezután a GPU elküldi a kijelzőnek, mely megjeleníti azt. Természetesen mindez borzasztó gyorsan történik, de a feldolgozás menetéből már most látszik, hogy a kiadott parancs és a hozzá tartozó képkocka között idő telik el. Ezt az időtartamot nevezzük input lagnak. Maga a jelenség kivédhetetlen, de az emberi agy számára egy bizonyos időtartam alatt lényegében észrevehetetlen.

A felhős játék működése
A felhős játék működése [+]

Az input lag mértéke természetesen nagyon függ az adott kliensgép képességeitől, beleértve ebbe a megjelenítőt és a beviteli eszközöket is. Utóbbi esetében legfeljebb 8 ms-mal érdemes számolni; ez attól függ, hogy az adott eszköz milyen frekvencián kommunikál a PC-vel. A legtöbb USB interfészre köthető termék 125 Hz-en dolgozik, de a játékosoknak készített megoldások esetében 1000 Hz-es paramétert is lehet látni, ami nyilván drasztikusan csökkenti az előbbi értéket. Ebből gyakorlatilag arra is választ kaptunk, hogy a hardcore játékosok miért nem szeretik az átlagos egereket. A PC belsejében zajló feldolgozás időtartama lényegében a kliensgép teljesítményétől függ, de 40 ms-on belül végezni kell, különben a program sebessége 25 képkocka/másodperc alá esik, ami mindenki számára érezhető akadást eredményez.

A kijelzőn a kép megjelenítéséhez szintén idő kell. Ez megint sok dologtól függ, de megfelelő szinkronizáció mellett pár ms-ra is csökkenthető a késés. Látható, hogy rengeteg tényező játszik szerepet az input lag mértékében, így általánosan nem lehet kijelenteni, hogy az adott kliensgép milyen késleltetést eredményez, de felállítható egy ideális eset, amiből ki lehet indulni. A játékosok körében elfogadott a 60 képkocka/másodperces teljesítmény, mint igény a folyamatos képmegjelenítéshez. Ha az adott program ilyen tempóval fut, és a megjelenítő frissítése is 60 Hz-re van állítva, akkor a beviteli eszközön kiadott parancs és a megjelenített kép között 40 ms telik el, ami az adott szituációt tekintve megközelítőleg két és fél képkocka késés. Természetesen lehet 120 képkocka/másodperccel és 120 Hz-cel is számolni, ami még alacsonyabb input lagot eredményez, de elégedjünk meg az előbbi számítással, hiszen a 40 ms lényegében észrevehetetlen késés.

Fontos azonban megjegyezni, hogy az előbbi számítás csak akkor érvényes, ha az adott gépben egy CPU és egy GPU van. Ha a konfiguráció AFR technológiát alkalmazó CrossFireX vagy SLI kiépítést használ, akkor a teljes számítás borul attól függően, hogy hány GPU van összekötve. Példának okáért két darab, AFR módban működő GPU már 80 ms-os input lagot eredményez fenntartva 60 képkocka/másodperces tempót és a 60 Hz-es frissítést a kijelzőre. Ez az eredmény még mindig megfelelő lehet, de három, illetve négy GPU esetében – az előbbi számításoknál használt körülményekkel – már 100 ms fölötti késleltetésről beszélhetünk, ami véleményünk szerint magas érték, de nyilván ez az igényektől függ, így lehet, hogy számos felhasználónak még megfelel.

Természetesen 120 képkocka/másodperc és 120 Hz mellett már két AFR módban üzemelő GPU-val is hozható a 40 ms-os késleltetés, azaz a CrossFireX, illetve SLI nem menthetetlen. Semmiképp se feledjük, hogy az input lag nem a folyamatos futásért felel, csupán egy mérőszám a kiadott parancshoz tartozó képkocka számításának időigényéről. Érthetőbb példával előállva, a játék akár 200-300 ms-os input lag mellett is futhat tökéletesen folyamatosan, de ilyenkor egy akciójátékban megszokottnak mondható, úgynevezett fejlövéshez a virtuális karakter elé kell célozni, és nem a fejére, ahogy az elvárható lenne. Ez természetesen nem elfogadható, és itt jön elő a felhős játék egyik legnagyobb, gyakorlatilag kivédhetetlen problémája.

Azt már látjuk, hogy a kliensen a számítás hogyan működik, de most nézzük meg, hogy mindez a felhőben miképp zajlik! A beviteli eszköz és a megjelenítő késleltetését most hanyagoljuk, mert ezekre az előző bekezdésben tárgyalt szabályok vonatkoznak. A felhő esetében a legnagyobb különbség, hogy a számítások nem a kliensgépen zajlanak, hanem egy távoli szerveren. Ennek megfelelően a parancsot nem a processzor dolgozza fel, hanem a szolgáltatáshoz tartozó program teljes egészében elküldi az adatokat a szervernek. Itt jön képbe az internet, ahol megszokott dolognak számít a késleltetés. Teljesen világos, hogy szerver oldalon elképesztően magas teljesítmény áll rendelkezésre, így a feldolgozás nagyon gyors lehet, ám a komoly büntetés a világhálón valósul meg.

A teljes késleltetés attól függ, hogy a szerver mennyire van messze, illetve a felhasználó internetelésének sebessége is beleszól ebbe. A kész képkocka letöltése szintén időbe telik, majd ezt be kell tölteni a grafikus vezérlő frame bufferébe. Mindezt végrehajtva a képkocka megjeleníthető lesz a kijelzőn. Mivel borzalmasan sok tényezőtől függ a felhős modell esetében az input lag, így még elméleti szinten sem lehet pontos értékkel előállni, de minimum 100 ms-mal érdemes számolni, ám az átlagos lag inkább 160 ms-hoz közelíthet. Ez egy óriási problémája lehet az egész elképzelésnek, mert számos hardcore játékos érzékeny erre a jelenségre, így értékelhetetlennek találják majd az egész szolgáltatást.

A gyakorlatban vajon hogyan működik?

Az elméleti rész után érdemes áttérni a gyakorlatra. Jelenleg a két legelterjedtebb szolgáltatás az OnLive és a Gaikai. Mindkettőhöz egy korszerűbb internetböngészővel ellátott masina kell. Természetesen a működéshez szükséges a szolgáltatáshoz tartozó beépülő modul, vagy esetlegesen a Java futtatási környezet. Az egész gyakorlatilag pár kattintással elvégezhető, így ezzel nekünk sem volt gondunk. Hogy a lehető legjobb képet kapjuk a szolgáltatásokról, a felhős játék mellett kipróbáltuk ugyanazt a programot PC-n futtatva is. Mivel ez nem tényleges teszt, így a kliensgép adatait nem részletezzük túlzottan, de röviden megjegyezzük, hogy Intel Core 2 Quad Q9550 processzor dolgozott benne 4 GB DDR2 szabványú rendszermemóriával és egy AMD Radeon HD 5850-es VGA-val.

A felhős játékhoz lényegében mindegy a hardver teljesítménye, de az internetelérésé már nem. Ehhez kábeles szolgáltatást használtunk 40 Mbps-os le-, és 20 Mbps-os feltöltési sebességgel. A garantált értékek paraméterei a szolgáltató adatai szerint 6 és 3 Mbps. Ezzel a tempóval lényegében a hazai elitbe tartozunk. Alapvetően mindkét fentebb említett szolgáltatást kipróbáltuk, de az OnLive esetében meglehetősen akadozott az elérésünk, illetve óriási, másodperc szintjén mérhető input lagot kaptunk, így főleg a Gaikai esetében elemeztük a technológiát, ahol viszont minden jól működött. Ettől természetesen az OnLive-ot nem minősítjük negatívan, mert sokan használják probléma nélkül, de az eset mindenképpen rámutat a felhős játék egyik átkára, vagyis ha nem jó a kapcsolat az adott szerverrel, akkor a felhőtlen felhős szórakozásnak lőttek.

A teszt alatt több programot összehasonlítottunk. Általánosan elmondható, hogy a klienshez mérten magasabb input lag érezhető jelenség a felhős játék alatt, de rendszerint csak azokban a játékokban zavaró, melyek nagyon építenek a reflexre. A hardcore réteg számára persze bizonyos, hogy ekkora kompromisszum nem fér bele, így a felhős játék szerintünk csak a hétköznapi játékosok számára alternatíva. Szintén ellenőriztük a képminőséget, ugyanis észrevettük, hogy a felhőben futtatott játékok nem néznek ki olyan jól, mint a kliensen futó verziók. Alapvetően erre számítani lehetett, ugyanis a kliensgépen belül az elkészült képkocka számára meglehetősen sok hely áll rendelkezésre a GPU-hoz tartozó frame bufferben, így a minőség úgymond maximális lesz. A felhőben viszont másodpercenként hatvan képet kell visszaküldeni, ami azt jelenti, hogy tömörítést kell alkalmazni, méghozzá veszteségeset. A minőség itt függ a szolgáltatás esetében alkalmazott technológiáktól, de egyértelműen észrevehető jelenségről van szó. Minderről az alábbi összehasonlítás ad némi támpontot:

A Gaikai és a PC-s kép a veszteséges tömörítés szemléltetésére A Gaikai és a PC-s kép a veszteséges tömörítés szemléltetésére
A Gaikai és a PC-s kép a veszteséges tömörítés szemléltetésére [+]

A veszteséges tömörítés a karakter háta mögötti falon vehető észre: a Gaikai szolgáltatásával készült kép színátmenetei töredezettek. Rögtön szembeötlik a grafika általánosan gyengébb minősége is. Ez bizony nem a képkockák tömörítéséből ered, hanem abból, hogy a szerveren az adott játék nem fut maximális grafikai részletességgel, míg a kliensgépen ez igény szerint paraméterezhető. A helyzet itt változó, de rendszerint közepes minőségűnek tűnik az eredmény. A Mass Effect 2 esetében össze is hasonlítottuk, ami messze nem hízelgő a felhős játékra nézve. Szintén nem állítható a felhőben futó alkalmazás képaránya, vagyis minden esetben 16:9 képet kapunk. Az általunk használt monitor 1680x1050-es felbontásra volt képes, amiből már látszik, hogy képaránya 16:10. Ezt a kliensoldalon a Mass Effect 2 tökéletesen kezelte, de a felhőben ez a paraméter nem változtatható meg. Ez persze elfogadható alternatíva, különösen annak fényében, hogy a piacra kerülő kijelzők zöme 16:9 képarányú.


A Gaikai és a PC-s grafika összehasonlítása [+]

Szintén probléma lehet az élsimítás hiánya. Bár az általunk legtöbbet tesztelt Mass Effect 2 esetében alapból nincs ilyen opció, de más játékokból is hiányzik, kiemelve a Crysis 2-t vagy a Dragon Age 2-t, ahol a kliens oldalon a játék menüjében is be lehet kapcsolni az élsimítást. Megoldás lehet esetleg egy post-process AA, mint például a Catalyst meghajtókban megtalálható morfológiai szűrő, de az utóbbi időben az AMD ennek az opciónak a működését letiltja a böngészők esetében, mivel elmossa a betűket. Éppen ezért a Gaikai alatt nem tudtuk ezt kipróbálni, de természetesen az AMD bármikor dönthet úgy, hogy a felhős játék esetleges terjedésével átgondolja az MLAA tiltását. Annyi biztos, hogy elméletben nincs akadálya az alkalmazásának.

A kliensgépen elérhető legjobb minőség driverből kényszerített képjavítókkal A kliensgépen elérhető legjobb minőség driverből kényszerített képjavítókkal
A kliensgépen elérhető legjobb minőség driverből kényszerített képjavítókkal [+]

A kliensgép előnyét kihasználva a Catalyst meghajtóból ráerőltettünk a játékra egy 8x-os szuper mintavételen alapuló elsimítási opciót is morfológiai szűrővel megspékelve. Mindez látható, hogy nagyon szépen végzi a dolgát, így a legjobb képminőség vitathatatlanul egy kliensgépen érhető el. Az elkészült összehasonlító képeket BMP formátumban az alábbi tömörített fájlban lehet megtalálni.

Konklúzió

Rövid irományunk alapján nagyjából leszűrhető, hogy mit tud jelenleg a felhős játék. Gyakorlatilag kijelenthető, hogy sem képminőségben, sem pedig az input lag mértékében nem veszi fel a versenyt egy PC-vel. Éppen ezért felemás érzéseink vannak a szolgáltatással kapcsolatban. A késleltetést és a tömörítésből származó képminőség-veszteséget még le lehet nyelni, hiszen alapvetően a hálózat komoly korlátot szab a minőségnek, és ez egy legyőzhetetlen jelenség. A szerver oldalon azonban folyamatosan a magas teljesítménnyel jönnek a szolgáltatást kínáló vállalatok, aminek a grafika általános minőségén nyomát sem láttuk. Ha már akkora erőforrás áll rendelkezésre a szerveren, akkor egyszerűen nem várnánk azt, hogy komolyabb grafikai butításokkal szembesülünk. Erre egyáltalán nem számítottunk, és egyelőre ez tűnik az egész koncepció leggyengébb pontjának. Ezek után nem igazán értjük, hogy a gyártók milyen jövőt látnak az egészben. A felhő alapötlete nagyon jó, és számos esetben a gyakorlati megvalósítás is működik, de a játékok mellett azt kell, hogy mondjuk, az egész rendszer vérszegény.

A hardcore rétegnek a mostani formájában nem fog tetszeni a felhős játék, mivel túl sok kompromisszumot kell kötni. A hétköznapi játékosok esetében már árnyaltabb a helyzet. Az utóbbi csoport alapvetően könnyebben barátkozik meg a különböző hiányosságokkal, így egy próbát mindenképpen tehetnek, hiszen mindkét fentebb említett szolgáltatás ingyenesen elérhető egy-egy rövid teszt erejéig. Ettől függetlenül úgy gondoljuk, hogy a kliens oldal még számukra is jóval előnyösebb.

Doom 3-at a telefonra!
Doom 3-at a telefonra!

A negatívumok mellett meg kell említeni a pozitívumokat is. Azzal, hogy egy játék a felhőben fut, lényegében egy gyengébb okostelefonon is elindítható lesz. Ezzel ledönthetőek az adott hardver képességeiből eredő akadályok, ami nagyszerű lépés egy szebb, jobb jövő felé. Valójában ez az a pont, ahol a felhős játékot kínáló szolgáltatóknak át kellene gondolni a stratégiát. A legtöbb elérhető játék szimplán egy PC-s verzió, némileg átalakítva, hogy megfelelő legyen a szerver oldalon keletkező követelményeknek. Ez önmagában azt jelenti, hogy az irányítás PC-kre szabott, azaz rendszerint billentyűzettel és egérrel történik. Ha mindezt átalakítanák a táblagépekhez, illetve az okostelefonokhoz, akkor az egész koncepció sokkal több értelmet nyerne. Szintén fontos lenne a felhős programokba implementálni az automatikus célzást, ami a konzolok esetében bevált. A PC-s játékoknál természetes, hogy precízebb vezérlést lehet egy egérrel elérni, így ez a funkció rendszerint ki szokott maradni a portokból, de a magas input lag miatt erre – véleményünk szerint – nagy szükség lenne a felhőben.

A felhős játékot természetesen megpróbáltuk objektív szempontok alapján értékelni, de elkerülhetetlen egy ilyen típusú elemzésnél a szubjektív benyomás, hiszen nincsenek számokban kifejezhető minősítési lehetőségek. A szolgáltatás a jelenlegi formájában számunkra nem fest tetszetős képet, de látható benne a potenciál. Éppen ezért arra buzdítanánk minden kedves olvasót, hogy tegyen egy próbát vele. Tekintve, hogy mindez ingyenesen megoldható, gyakorlatilag nincs mit veszteni. Természetesen az egyéni véleményeket várjuk a cikk topikjában!

Abu85

Azóta történt

Előzmények

Hirdetés