Inžinieri spoločnosti Google podrobne uvádzajú technológiu streamovania za nepostrehnuteľnou latenciou Stadie

google engineers detail streaming tech behind stadia s imperceptible latency

Google Stadia

Google práve ukončil prvý deň svojej výročnej vývojárskej akcie Google I/O, ktorá sa stručne dotkla technológie, ktorá stojí za službou Google Stadia. Počas vyplnenia iba jednej hodiny trojdňovej akcie v tom čase niektorí z popredných zamestnancov spoločnosti Google vystúpili na pódium, aby načrtli, ako spoločnosť postupuje pri znižovaní latencie na nepostrehnuteľné úrovne a pri budovaní silného streameru, ktorý zvládne miestne herné počítače.

Keďže spoločnosť Google urobila veľký pokrok v oblasti cloudových hier, otázkou na perách každého bolo, či bude zážitok stáť za to, alebo bude priamo porovnateľný s miestnym hardvérom. V snahe presvedčiť vývojárov, že Stadia je to pravé miesto pre nadchádzajúce hry, dvaja z popredných inžinierov spoločnosti Google, Rob McCool a Guru Somadder, spolu s projektovým manažérom Khaledom Abdel Rahmanom, rozpracovali technologické základy platformy.





Zdá sa, že od oznámenia streamingovej platformy na GDC chce Google objasniť niektoré vnímané predstavy o latencii streamovania, ktoré môžu, ale nemusia byť pravdivé. Najvýznamnejšie je, koľko latencie datacentrum pridáva k celej rovnici.

Somadder hovorí, že trvá menej času, kým sa paket z dátového centra dostane k vám, než trvá, kým sa príkaz mozgu dostane k vašim prstom.

Budúcnosť hier?Tu je všetko, čo vieme o službe Google Stadia

Napriek tomu, že spoločnosť Google rýchlo poukazuje na to, že prenos údajov rýchlosťou svetla nie je problém sám o sebe, akýkoľvek ďalší čas strávený presúvaním a spracovaním paketov zvyšuje latenciu zážitku hráča.



Podľa spoločnosti Google sa za úspechom streamovania hier stávajú kodeky, kodéry a dekodéry schopné minimalizovať oneskorenie - spolu s nemilosrdným dosahovaním správnej rovnováhy medzi kvalitou a latenciou. Hráč predsa nemusí iba prijímať údaje, ale rýchlo ich prenášať späť na server, aby reagoval na akcie hráča.

Streamer je doručovací nástroj, ktorý je vytvorený na streamovanie hier, hovorí McCool. Je to program, ktorý beží popri hre. Berie informácie od klientov, ako aj zo siete na doručovanie obsahu spoločnosti Google, a v reálnom čase sa rozhoduje, ako maximalizovať kvalitu a zároveň zachovať nepostrehnuteľnú latenciu.

Neexistuje jediná optimalizácia, ktorá by vytvorila dokonalú technológiu streamovania v cloudových hrách. Vždy to vyvažuje sériu kompromisov. Ak teda zdokonalíte jednu vec, často to ide na úkor druhej. Riešením teda nie je elegantný algoritmus, ktorý môžete opísať niekoľkými riadkami gréckych symbolov, možno z toho získate diplomovú prácu, vyzerá to úplne inak.



Aby sa údaje dostali do vášho domova, musia prejsť mnohými krokmi. Google je presvedčený, že v záujme boja proti ukladaniu do vyrovnávacej pamäte musí zmeniť vlastný spôsob prenosu týchto údajov na web. Využíva teda svoj vlastný, na hry optimalizovaný twist na šírku pásma úzkeho pásma a algoritmus riadenia preťaženia (alebo jednoduchý BBR) so systémom Stadia.

Algoritmus riadenia preťaženia Google BBR

Toto je vlastné dieťa Google a údajne je veľmi podobné potrebám služby Google Stadia. BBR je algoritmus, ktorý sa pokúša znížiť preťaženie a stratu paketov skôr, ako sa to stane - najmä v poslednej míli v niečom, čo sa bežne nazýva blufferbloat. To je vtedy, keď sú pakety všetkých dôležitých údajov príliš hlboké, upchávajú vyrovnávacie pamäte a nakoniec spôsobujú zbytočne veľké fronty. Už len to čakanie vo fronte by zvyčajne znamenalo trest smrti za streamovanie hier.



Na strane prijímača teda používame rozšírenia WebRTC, ktoré poskytol náš tím vo Švédsku, na deaktiváciu vyrovnávacej pamäte a zobrazenie vecí hneď, ako dorazia. Pre našu aplikáciu je dôležité kontrolovať preťaženie, aby bola vyrovnávacia pamäť čo najnižšia.

Vďaka optimalizovanému algoritmu BBR a slučke spätnej väzby medzi snímkami sa spoločnosť Google dokáže vyhnúť niektorým nástrahám spojeným so streamovaním videa a oneskorenými službami streamovania webu.

Streamer Google Stadia

Regulátor neustále upravuje cieľovú bitovú rýchlosť na základe signálov spätnej väzby na paket, ktoré prichádzajú z prijímacieho zariadenia, pokračuje McCool. Ovládač používa rôzne filtre, modely a ďalšie nástroje a potom ich syntetizuje do modelu dostupnej šírky pásma a zvolí cieľovú bitovú rýchlosť pre kodér videa.

Google má skúsenosti s navrhovaním algoritmov modelovajúcich mimoriadne zložité situácie a kód a vďaka práci s mierkou s milisekundovou latenciou sme v ideálnej pozícii, aby sme toto prostredie mohli hráčom umožniť. Ladíme na úrovni milisekúnd a niekedy aj mikrosekúnd a robíme včasné informované rozhodnutia, aby bola latencia nepostrehnuteľná pri maximalizácii kvality. Kombinujeme mnoho rôznych modelov signálov, spätnú väzbu, aktívne učenie, senzory a tesnú spätnú väzbu, aby sme vytvorili presne vyladený zážitok.

Zostatok cloudových hier v službe Google Stadia

Google sa tiež usiluje o zvýšené prijatie najnovších kodekov vrátane VP9 a AV1, ktoré, ako dúfa, zlepší streamovanie hier ako celok, pričom požičiava na zníženie sieťových požiadaviek a zvýšenie kvality.

A v snahe nalákať na službu väčší počet divokých vývojárov bude Stadia implementovať aj súpravu nástrojov hrateľnosti vhodnú pre vývojárov. Táto sada rozhraní API umožňuje vývojárom upravovať a sledovať kodéry, metriky v reálnom čase, informácie o zariadení a sledovanie latencie po jednotlivých snímkach.

Aj keď máme stále veľa otázok týkajúcich sa obchodného modelu služby Google Stadia, prednáška o službe Google I/O priniesla trochu viac svetla o tom, ako spoločnosť Google plánuje využiť svoju značnú váhu a globálnu nadvládu nad webom na uspokojenie svojich služieb cloudových hier hráčom.

Keby hovor bol len o niekoľko hodín dlhší, možno by sme potom dostali viac odpovedí, po ktorých túžime. A určite by som vedel, či je budúcnosť herného hardvéru pre počítače skutočne ohrozená.