Hirdetés

Még idén megkaphatják az Advanced Shader Delivery szolgáltatást a játékosok

A Microsoft megtette a szükséges lépéseket, hogy a gyártók szabadon használhassák majd a technológiát, de nem lesz kötelező.

Még augusztus második felében írtunk arról, hogy a Microsoft megoldaná a PC-s játékosok legnagyobb gondját, és a mögöttes, Advanced Shader Delivery nevű szolgáltatás a ROG Xbox Ally és ROG Xbox Ally X kézikonzolokon debütál. A redmondiak is erre fókuszálnak, de a technológiai háttér alapvetően megvan ahhoz, hogy a Windows operációs rendszeren belül minden partnernek lehetősége legyen kihasználni az újítást. Utóbbi fontos tényező, mert a Microsoft elsődlegesen az Xbox névvel ellátott rendszerekre fókuszál, és ezeknél saját maguk megoldják az Advanced Shader Delivery működését.

Felmerülhet a kérdés, hogy mi lesz azokkal a PC-kkel, amelyek nem kapnak Xbox hitelesítést? Nos, a Microsoft nem fogja megakadályozni az Advanced Shader Delivery bevetését, de a terméktámogatás szempontjából nem vállalnak fel mindent. És ez az a pont, ahol viszonylag sok lehetőség lesz. Az új rendszert kihasználó játékok esetében a szükséges állományokat biztosíthatja például az adott áruház kliense, vagy akár egy GPU-kat tervező cég grafikus meghajtójához kapcsolt szolgáltatás is.

Ahhoz, hogy a fentieket megértsük, érdemes átnézni az Advanced Shader Delivery mögötti disztribúciót. Ennek lesz egy kliensoldani, illetve egy szerveroldali része. A szerveren az üzemeltető minden olyan játékot karbantart, amely támogatja az új shader fordítási irányt. A fejlesztők itt biztosítják az adott játék shadereit, amiből a Microsoft hivatalos eszközeivel egy úgynevezett SODB-t (State Object Database) lehet generálni, ami egy konkrét adatbázis a játék összes lehetséges futószalagállapotáról. Ez az adatbázis lesz letöltve a kliensre, ahol az állományból a GPU-kat tervező cégek külső fordítóival úgynevezett PSDB-t (Precompiled Shader Database) lehet generálni. Amennyiben ez megvan, akkor ezt juttatja el a kliensprogram a grafikus meghajtóhoz, amely véglegesíti a shadereket az eszközillesztőhöz tartozó shader gyorsítótárban. Ez a folyamat ideális esetben az adott játék telepítésekor fog lezajlani, így az első indítás során már kész shaderek várják a játékost. Amennyiben a felhasználó újratelepíti a grafikus meghajtót, akkor az egy jelzést küld majd a kliensnek, amely a teljes folyamat menedzseléséért felel, és újra megtörténik a fordítási folyamat a kliensoldalon, amivel frissül a shader gyorsítótár. Arra az eshetőségre is van megoldás, ha valamiért nem működne az internet, ilyenkor a klasszikus shader fordítási módszerek élnek majd, azok minden nyűgjével és gondjával. Tehát a játék mindenképpen futni fog, csak az Advanced Shader Delivery szolgáltatással jobb lesz a felhasználói élmény, vagyis rövidebb betöltési idők, illetve folyamatosabb játékmenet várja a játékost.

Hirdetés

A kliens tekintetében biztos, hogy a Microsoft támogatni fogja a rendszert az Xbox PC applikáció segítségével, vagyis ez felel majd az SODB állományok beszerzéséért, amelyeket a Microsoft saját felhője tárol majd. A redmondiak jelenleg az AMD, módosított offline shader fordítóját csomagolják a kliensben, ami támogatja az Xbox PC-ket, jelen esetben a ROG Xbox Ally és ROG Xbox Ally X kézikonzolokat.

A grafikus driver oldalán természetesen direkt támogatás kell majd, hiszen a jelenlegi shader fordítók nem tudnak mit kezdeni az SODB-vel és a PSDB-vel. A jellegzetes működés miatt ráadásul bizonyos fordítóinfrastruktúrát nem is feltétlenül optimálisak ehhez a koncepcióhoz, és ez az oka annak, amiért a Microsoft nem teszi kötelezővé az Advanced Shader Delivery szolgáltatást. Ugyanakkor az AMD, az Intel, az NVIDIA és a Qualcomm is jelezte, hogy támogatni szeretnék a rendszert, vagyis ebből a szempontból alapvetően minden jól alakul.

A szélesebb körű működés úgy nézne ki, hogy maguk az SODB állományok egységesek. Ezek biztosan a Microsoft gyári eszközeivel készülnek, tehát bárhol is vannak tárolva, mindenkinek az adott programverzióból ugyanazok az állományokat tölti le a kliens. Az ebből generált PSDB állományok ugyanakkor gyártóspecifikusak. Itt saját offline fordító szükséges az AMD-től, az Inteltől, az NVIDIA-tól, illetve a Qualcommtól. Technikailag a Microsoft is saját fordítóval dolgozik, de ez valójában az AMD megoldása, enyhén módosítva.

Ahhoz tehát, hogy az Advanced Shader Delivery működjön mindenhol, a kliens oldalán biztosítani kell az összes elérhető gyártói fordítót, amely majd a megfelelően PSDB állományokat generálja a szerverről letöltött SODB állományokból.

A jó hír, hogy ez a folyamat nem lesz túl bonyolult. A kliens oldalán – fordítónként mérve persze – elég kevés programkódból áll majd az egész, az egyedüli nagyobb költségnek a szerverinfrastruktúra fenntartása számíthat, amely az SODB állományokat teszi lehetővé.

A játékáruházak kliensei még nem jelentettek be hivatalos támogatást, de a technológiai hátteret tekintve akármelyik platformhoz tartozó PC-s kliens meg tudja oldani a folyamatot. Ráadásul ezek a cégek eleve üzemeltetnek szervereket, hiszen a megvásárolt játékok is innen tölthetők le. Ilyen formában a klienst csak gyártói offline fordítóval kell kiegészíteni, és annak a működéséhez szükséges nem túl hosszú programkóddal.

A Microsoft elsődlegesen ezt a módszert szorgalmazza, mert ilyen formában a játékfejlesztők szinte elhanyagolható munkával megoldhatják az Advanced Shader Delivery támogatását. Később várhatóan az Xbox PC applikáció is kiegészül majd a gyártói fordítókkal, és nem csak az Xbox PC-khez való opció lesz szállítva. Utóbbi jelenleg abból eredhet, hogy most ez van kész és bevethető állapotban.

Van egy másik lehetőség is, ha esetleg a játékáruházhoz tartozó kliens nem támogatná az Advanced Shader Delivery-t. Ezt ugyanis maga a játék is beépítheti, de ez inkább a nem ajánlott módszer, noha funkcionálisan ugyanúgy működni fog. Ezzel kapcsolatban csak az AMD tesztmeghajtójával vannak tapasztalatok, mert más még nem kínál erre a funkcióra szoftveres hátteret.

Az AMD, direkten játékfejlesztőknek is szánt implementációja úgy működik, hogy az adott játék az első indítás során detektálja a grafikus vezérlőt, és ha az egy olyan Radeon, amely támogatja az Advanced Shader Delivery-t, akkor a program maga letölti az AMD szerveréről az SODB állományt, majd abból a meghajtón belül szállított offline fordító generálja a PSDB-t, és ez kerül véglegesítve a shader gyorsítótárba. Tulajdonképpen a működés nem tér el attól, ahogy a kliensalkalmazások dolgoznak, csak a szükséges adatokat az AMD szerveréről szerzi be a játék. Úgy tudjuk, hogy az Intel megoldása is így fog működni, amely szintén elég közel áll a bevethetőséghez.

A direkten támogatott módszerrel viszont már látható a probléma. A program oldalán kell biztosítani minden egyes gyártó rendszerének működését, amit elvben idén meg lehet oldani az AMD és az Intel egyes kompatibilis GPU-ihoz, de a Qualcomm és az NVIDIA csak későbbre ígért meghajtót. Tehát amikor majd az utóbbi két cég is hozza az Advanced Shader Delivery-t támogató implementációját, akkor az az adott játékban addig nem fog működni, amíg a fejlesztők nem írnak hozzá egy frissítőcsomagot. Ha viszont a játékáruház kliense kezeli ezt a kérdést, akkor elég a klienshez kiadni egy frissítést, a játékhoz önmagában már nem kell. Innen érthető az is, hogy a Microsoft miért szorgalmazza az utóbbi módszert.

Információink szerint az AMD és az Intel is idén szeretné véglegesíteni az Advanced Shader Delivery támogatását, amely mögé mindkét vállalat felépíti a szerveroldali rendszert is, ha az adott játékfejlesztő mégis úgy döntene, hogy nem bízza ezt a kérdést a kliensprogramokra. A kompatibilis hardvereket tekintve a Radeon RX 7000 és 9000 sorozat biztosan jó lesz az új koncepcióhoz, de a többi GPU-ról nem nyilatkoztak az érintett cégek, így a teljes lista majd a megfelelő szoftvercsomagok kiadásakor fog kiderülni.

Előzmények