Googleovi inženjeri detaljno opisuju tehnologiju streaminga iza Stadijine neprimjetne latencije

google engineers detail streaming tech behind stadia s imperceptible latency

Google Stadia

Google je upravo završio prvi dan svog godišnjeg događaja za programere, Google I/O, koji se ukratko dotaknuo tehnologije iza Google Stadia. Ispunjavajući samo sat vremena trodnevnog događaja, za to vrijeme dio Googleovog višeg osoblja izašao je na pozornicu kako bi opisao kako će tvrtka smanjiti kašnjenje na neprimjetne razine i izgraditi robustan streamer za preuzimanje na lokalnim računalima za igre.

Budući da je Google napravio veliki napredak u igranju u oblaku, svima se postavlja pitanje hoće li iskustvo biti vrijedno ili izravno usporedivo s lokalnim hardverom. U pokušaju da uvjere programere da je Stadia pravo mjesto za nadolazeće igre, dvojica vodećih Googleovih inženjera, Rob McCool i Guru Somadder, zajedno s voditeljem projekta Khaledom Abdelom Rahmanom, razradili su tehnološke temelje platforme.





Čini se da od objave platforme za streaming na GDC -u, Google želi razjasniti neke pretpostavke o latenciji strujanja koje mogu, ali i ne moraju biti istinite. Najvažnije, koliko kašnjenja podatkovni centar dodaje u cijelu jednadžbu.

Somadder kaže da je potrebno manje vremena da paket iz podatkovnog centra dođe do vas nego što je potrebno naredbi mozga da dođe do vaših prstiju.

Budućnost igara?Evo svega što znamo o Google Stadiji

No, Google brzo naglašava da podaci koji putuju brzinom svjetlosti nisu sami po sebi problem, svako dodatno vrijeme provedeno u premještanju i obradi paketa dodaje latenciju igračkom iskustvu.



Prema Googleu, uspjeh streaminga igara svodi se na kodeke, kodere i dekodere koji mogu minimizirati kašnjenje - zajedno s nemilosrdnim postizanjem ispravne ravnoteže između kvalitete i latencije. Uostalom, igrač ne mora samo primati podatke, već ih brzo prenositi natrag na poslužitelj kako bi odgovorio na radnje igrača.

Streamer je mehanizam za isporuku koji je namijenjen za streaming igara, kaže McCool. To je program koji se pokreće uz igru. Uzima informacije od klijenata, kao i od Googleove mreže za dostavu sadržaja, a u stvarnom vremenu donosi odluke o tome kako povećati kvalitetu, a zadržati latenciju neprimjetnom.

Ne postoji jedinstvena optimizacija za savršenu tehnologiju streaminga igara u oblaku. Uvijek balansira niz kompromisa. Dakle, ako poboljšate jednu stvar, često to ide na štetu druge stvari. Dakle, rješenje nije elegantan algoritam koji možete opisati s nekoliko redaka grčkih simbola, možda iz njega izvući magistarski rad, izgleda vrlo drugačije.



Podaci moraju proći kroz mnoge korake da bi došli do vašeg doma, a Google vjeruje da mora promijeniti svojstven način na koji se ti podaci prenose na webu radi borbe protiv međuspremnika. Dakle, koristi vlastiti, optimiziran za igre zaokret na usko grlo propusne širine i vrijeme propagacije (ili jednostavno BBR) zagušenja sa Stadijom.

Google BBR algoritam za kontrolu zagušenja

Ovo je Googleova vlastita beba i navodno je vrlo blizu potrebama Google Stadije. BBR je algoritam koji pokušava smanjiti zagušenje i gubitak paketa prije nego što se to dogodi - osobito u posljednjoj milji u nečemu što se obično naziva blufferbloat. Tada se paketi svih važnih podataka slažu previše duboko, začepljuju međuspremnike i na kraju izazivaju bespotrebno velike redove. Sam taj red obično bi bio smrtna kazna za streaming igara.



Dakle, na strani prijemnika koristimo WebRTC proširenja koja je dao naš tim u Švedskoj za onemogućavanje međuspremljenja i prikaz stvari čim stignu. Za našu aplikaciju, kontrola zagušenja kako bi se međuspremništvo održalo što je moguće nižim.

S optimiziranim BBR algoritmom i okvirnom povratnom spregom, Google može izbjeći neke zamke povezane s video streamingom i zaostalim uslugama streaminga weba.

Google Stadia streamer

Kontroler stalno prilagođava ciljanu brzinu prijenosa na temelju povratnih signala po paketu koji su stigli s prijemnog uređaja, nastavlja McCool. Upravljač koristi razne filtre, modele i druge alate, a zatim ih sintetizira u model dostupne propusnosti i bira ciljanu brzinu prijenosa za video koder.

Google ima iskustvo u projektiranju algoritama za modeliranje iznimno složenih situacija i koda, a rad u opsegu s milisekundnom latencijom stavlja nas u idealnu poziciju da omogući ovo iskustvo igračima. Podešavamo se na milisekundnu, a ponekad i mikrosekundnu razinu i pravodobno donosimo informirane odluke kako bismo zadržali latentnost neprimjetnom, a istovremeno povećali kvalitetu. Kombiniramo mnoge različite modele signala, povratne informacije, aktivno učenje, senzore i usku petlju povratne veze kako bismo proizveli precizno prilagođeno iskustvo.

Ravnoteža igara u oblaku Google Stadia

Google također nastoji pojačano usvojiti najnovije kodeke, uključujući VP9 i AV1, za koje se nada da će poboljšati strujanje igara u cjelini, pospješujući smanjenje mrežnih zahtjeva i povećanje kvalitete.

U pokušaju da privuče veći broj divljih programera u uslugu, Stadia će također implementirati Playability Toolkit prilagođen razvojnim programerima. Ovaj paket API-ja omogućuje programerima da mijenjaju i prate enkodere, mjerne podatke u stvarnom vremenu, informacije o uređaju i praćenje kašnjenja okvir po okvir.

Iako još uvijek imamo toliko pitanja u vezi s poslovnim modelom Google Stadije, Google I/O razgovor bacio je samo malo više svjetla na to kako Google namjerava iskoristiti svoju značajnu težinu i globalnu web dominaciju kako bi igračima pružio uslugu igranja u oblaku.

Da je samo razgovor trajao nekoliko sati, možda bismo tada imali više odgovora za kojima žudimo. Sigurno bih znao je li budućnost računalnog hardvera za igre uistinu ugrožena.