Konzolban elérhető funkciókat kaphatnak a PC-s grafikus meghajtók?

A PC-s játékpiacon érdekelt hardvergyártók manapság egyre érdekesebb kéréseket kapnak a játékfejlesztőktől, amelyek zömében arra vonatkoznak, hogy a PlayStation 4 és az Xbox One konzolokon elérhető, amúgy egyszerű funkciókat tegyék hozzáférhetővé PC-n is. Információink szerint az igények jelentős része csupán új grafikus meghajtókkal teljesíthető, tehát leginkább egy szoftveres kérdésről van szó, ugyanakkor nincs teljes megegyezés a gyártók és a fejlesztők között.

Hirdetés

Mielőtt az egész problémát részleteznénk fontos kiemelni, hogy bár a PlayStation 4 és az Xbox One alapját adó hardver megtalálható a PC-kben, a szoftveres réteg eltérése miatt a konzolok kihasználására több lehetőségük van a fejlesztőknek. Ez régen is így volt és a jövőben is így lesz, vannak azonban olyan funkciók is, amelyeket igazából az aktuális API-k engednének, valamint a hardverek szempontjából sem lenne a használatukkal probléma, de szimplán nincs rájuk működő grafikus eszközillesztő PC-n. A fejlesztők szerint azonban hasznos megoldásokról beszélünk, amelyekkel tényleg lehetne növelni a grafika minőségét anélkül, hogy nagy árat kellene fizetni a sebesség szempontjából. Természetesen az már önmagában egy probléma, hogy az új konzolok folyamatos vizsgálatával olyan lehetőségekre bukkannak a hardverben a programozók, amelyek hasznosak ugyan, de PC-n nem használhatók, dacára annak, hogy nem lenne akadálya. Ez jól jelzi, hogy mennyire nem érti meg, vagy nem szeretné kiértékelni a piac a valós játékfejlesztői igényeket.

Példaként többek között felhozható, hogy az Ubisoft nemrég talált egy analitikai élsimításra vonatkozó koncepciót, amellyel a korábban már bemutatott GBAA sokkal gyorsabban elvégezhető. Ezzel a megoldással kiváló minőséget lehet elérni az élsimításra vonatkozóan, alig 10-15%-os sebességvesztés mellett. A GBAA alapja – nagyon leegyszerűsítve – a vertex adatok kiolvasása a raszterizált háromszögből. Ez a kiindulási pont és a mai grafikus API-kban geometry shaderrel megoldható, de így relatíve sok sebesség kárba vész. A PlayStation 4 és az Xbox One esetében a beépített IGP azonban emulált interpolációt hajt végre, aminek következtében az elmentett vertex adatok a helyi adatmegosztásba (LDS) kerülnek, ahonnan kiolvashatók pixel shaderen keresztül, aminek hála ugyanaz a minőségű élsimítás lényegesen gyorsabban megoldható. A PC-n a GCN architektúrára épülő AMD grafikus vezérlők pont így működnek, de a pixel shader eddig nem tudta kiolvasni az elmentett vertex adatokat. Egy friss meghajtó után ez a gond már megoldódott, így az Ubisoft ötlete a Radeonokon is működik, de a vállalat szeretné, ha az Intel és az NVIDIA hardvereken is elérhető lenne ez az élsimítás.

Időközben kiderült, hogy az Intel Gen7.5, illetve az NVIDIA Fermi, Kepler és Maxwell architektúra is képes elméletben arra, ami szükséges az Ubisoft analitikai élsimításának működéséhez. Ehhez azonban a gyakorlatban új grafikus meghajtóra van szükség mindkét cég esetében. Egyrészt meg kell oldani azt, hogy a pixel shader kiolvashasson adatokat a helyi adatmegosztásból, ami nem túl nehéz feladat, de van egy kis gond ezzel a koncepcióval. Az Intel és az NVIDIA architektúrái nem emulálják az interpolációt, és ezzel nem is mentik le a vertex adatokat a helyi adatmegosztásba. Ehelyett mindkét vállalat fixfunkciós egységeket használ erre a feladatra. Ahhoz tehát, hogy az új élsimítás működjön, írni kell a grafikus meghajtóba egy olyan interpolációs koncepciót, amely a shader egységeken dolgozik, és a vertex adatok is a helyükön lesznek. A kivitelezéssel elvben nem lehet probléma, de egy cég sem rajong az olyan ötletekért, ahol ilyen drasztikus változást kell beépíteni a meghajtókba.

A probléma gyökere nem technikai vagy politikai jellegű, hanem leginkább az a kérdés, hogy ki dolgozzon többet. Nyilvánvaló, hogy az Ubisoft számára az a legegyszerűbb, ha minden hardveren egységesen működik a GBAA koncepciójuk, és az új adatok alapján ez kivitelezhető is. Ez azonban az Intel és az NVIDIA nyakába pluszmunkát rak, amiért nem feltétlenül rajonganak. Számukra sokkal jobb megoldás, ha az Ubisoft nem egy, hanem két vagy esetleg három GBAA implementációt is készít az egyes termékekhez. Nyilván ez is járható út, de ilyenkor az Ubisoft fog többet dolgozni.

Andrew Lauritzen, az Intel szoftvermérnöke szerint a geometry shader kódok teljesítménye nagyrészt a grafikus meghajtótól függ, amibe az Intel komoly erőforrást ölt korábban. Ennek megfelelően számukra nem akkora gond, ha a GBAA geometry shaderen keresztül fut, vagyis az eredeti formájában. A gyártók egyébként nem valószínű, hogy engednek a nyomásnak, mert az Intel és az NVIDIA számára egységesen elég nagy probléma, hogy ma a játékfejlesztők a GCN-hez mérnek mindent, vagyis ami azon nem megy jól (lényegtelen, hogy szoftver vagy hardver következtében), azt nem jó algoritmusnak tekintik. Ezt többek között a Far Cry 4-en, illetve a játék által használt Dunia grafikus motoron dolgozó Steve McAuley is megerősítette, miszerint más architektúrával nem is igazán dolgozik, így azok képességeit nem ismeri jól.

A jelenlegi helyzetben nehéz megtalálni a gyártóknak és a fejlesztőknek az arany középutat. Nem csak a GBAA megvalósításaival kapcsolatban, hanem pusztán mérlegelve a lehetőségeket. A PC önálló platform, így nem feltétlenül fontos a PlayStation 4 és az Xbox One konzolra írt effektek portolása. Ezt érezhetően és persze érthetően csak az AMD tartja ideálisnak, míg az Intel és az NVIDIA nem. Utóbbi vállalat ennek elkerüléséért tesz is a GameWorks csomaggal.

Azóta történt

Előzmények

Hirdetés