Amit az NVIDIA tesz a PC-s játékokért

Majd az NVIDIA optimalizál

Az optimalizálás természetesen az NVIDIA nézőpontjából is fontos, de pontosan tudja a cég, hogy az elzárkózásuk miatt a partnereik is képtelenek igazán gyors kódot írni a termékeikre, hacsak vissza nem fejtik az architektúráik működését. Erre az elmúlt évben bemutatkozott az NVIDIA saját megoldása a GameWorks csomag részeként. Ez egy olyan zárt fejlesztői effektgyüjtemény, amelyet az NVIDIA önmaga ír a partnereik bevonása nélkül, és felkínálják licencre a PC-s piacon érdekelt stúdiók számára. Maga a GameWorks ingyenes, tehát elég az NVIDIA szoftverpartnerévé válni és az összes effekt letölthető az alábbi oldalról. Ezek azonban az alapértelmezett licenckonstrukcióval semmilyen formában nem módosíthatók, amit fontos figyelembe venni az alkalmazásuknál.

Bár az effekteket könnyű úgy elképzelni, hogy ezek egyszerűen beépíthetők az adott videojáték-motorba, valójában vannak bizonyos követelmények, amelyeket szem előtt kell tartani. Például az effekt használhat olyan eljárást, amelyet a videojáték-motor leképzője nem képes megoldani. Ez pusztán egy kompatibilitási kérdés, és ilyenkor jellemzően érdemes alternatív algoritmust választani az adott effekt által megoldandó problémára. A GameWorks esetében fontos figyelni az egyes effektek követelményeit, mivel a forráskód alapértelmezett licenckonstrukcióval megváltoztathatatlan, vagyis a fejlesztőnek nem az effektet kell a videojáték-motorhoz szabni, hanem pont fordítva kell eljárni. Bizonyos effektek esetében ezt nagyjából olyan bonyolult kivitelezni, mintha a házépítést a tetőtérrel kezdenénk, tehát már a fejlesztés elején érdemes kiválasztani a felhasználandó GameWorks effekteket és azok követelményeinek megfelelő leképzőt kell írni. Például a haj és a szőr szimulációjára szolgáló HairWorks csomag esetében fontos az MSAA élsimítás támogatása, mivel maga az effekt nem tartalmaz speciális analitikai élsimítást, tehát a hajszálak és szőrszálak pontos megjelenítéséhez pixelenként több színmintára is szükség van. Amennyiben az adott videojáték-motor nem támogatja az MSAA-t, úgy a HairWorks technikailag még működni fog, de gyenge minőségű lesz az eredménye.

Persze a nagyfokú előretervezés is félrecsúszhat, így a GameWorks tartalmaz egy kiskaput, amely egy speciális licenc keretében nyitható ki. Ilyenkor a fejlesztőpartner kérhet hozzáférést az esetlegesen problémás GameWorks effekt forráskódjához. Ezt a kérvényt az NVIDIA megvizsgálja, majd ha jogosnak találják, akkor a kód egy részét megosztják a partnerükkel, így megoldhatóvá válik a kompatibilitási célzattal elvégzendő módosítás. Ez szintén lényeges eleme az NVIDIA koncepciójának, hiszen a forráskód teljes elzárása nagyon sok esetben lehetetlen helyzetbe hozza a vállalat partnereit, amit igazából senki sem szeretni. Viszont magát a megosztott forráskódot csakis pár ember láthatja az adott stúdión belül, és annak megosztása sem lehetséges a konkurensekkel, azaz az Intellel és az AMD-vel, így elkerülhető az is, hogy az utóbbi két vállalat az optimalizálásra vonatkozóan javaslatokkal álljon elő.

Törvény szerint ugyan nem lehetne megtenni, de ne legyenek illúzióink, utóbbi két cég bizonyosan visszafejti az NVIDIA architektúráinak működését. Régen ez lényeges problémát jelentett, ugyanis a GameWorks előtti időkben az NVIDIA nem szabályozta ennyire szigorúan a forráskódhoz való hozzáférést, tehát az adott fejlesztőstúdió esetleg megmutatta a kapott effektek kódját a konkurenseknek is. Sok esetben ez azt is jelentette, hogy az Intel, illetve az AMD a kódot átírta úgy, hogy minőségvesztés nélkül is jelentősen begyorsuljon, ami a maximális grafika melletti gépigény csökkenéséhez vezetett. Ma már ennél sokkal jobban szabályozott a GameWorks, így ilyen szituáció nem fordulhat elő.

A fentiek után érthető, hogy a PC-s fejlesztői elitet miért nem érdekli az NVIDIA GameWorks kezdeményezése. Ugyanakkor nagyon szűken vizsgálnánk a kérdést, ha csak a sok pénzzel rendelkező, ezen belül is a PC-re történő optimalizálást tényleg megfontoló szoftverfejlesztőket vennénk górcső alá, így elmondható az is, hogy a GameWorks sok stúdiónak rendkívül hasznos. Azzal, hogy az NVIDIA kész effekteket kínál, a kisebb cégeknek elég csak az adott videojáték-motor leképzőjét megfelelő kompatibilitással felruházni, majd az effektek szimplán beépíthetők. Ez tulajdonképpen nem igényel kutatási költséget és az implementálás is relatíve gyorsan megoldható.

A GameWorks tehát kifejezetten értékes annak a fejlesztői rétegnek, amely a hasonló effektek kidolgozására amúgy sem tudna pénzt áldozni. Ezzel az is másodlagos tényezővé válik, hogy a GameWorks effektek meglehetősen általánosak, így nem futnak túl gyorsan, de jó optimalizációra nagyon kevés stúdiónak van pénze, illetve nem egy cég a PC-t nem tartja annyira fontosnak, hogy költsön rá, tehát abszolút elfogadható, hogy funkcionálisan működjenek az effektek, a megfelelő hardvert pedig meglehet venni hozzájuk.

A GameWorks még az MMO és MOBA címek esetében is érdekes. Sőt, itt jönnek elő az igazi előnyei. Az említett kategóriába szánt játékok életciklusa nagyon hosszú, így ha minden ideális, akkor 4-6 évig is élvezik a felhasználók az adott programot. Fél évtized azonban hosszú idő, amibe jellemzően bele kell férnie egy komolyabb felújításnak. Ilyenkor az effektek szempontjából fel lehet ütni a friss GameWorks csomagot, és lényegében kutatás nélkül lehet új grafikai extrákat implementálni.

A cikk még nem ért véget, kérlek, lapozz!

Azóta történt

Előzmények