Minden PC-s játékon belül érdemes ellátogatni a beállítások menübe, és ott egyenesen a grafikai menüpontot választani - néhány jól irányzott kattintással jelentősen felgyorsíthatjuk vagy éppen szebbé varázsolhatjuk játékunk látványvilágát. Igen ám, de a játékok készítői nem kedveskednek a beállításokat értelmező hosszas leírásokkal és látványos bemutatókkal, csak szakzsargont, számokat és bonyolult, szakmai jelöléseket kapunk. Ebben szeretnénk nektek segíteni azzal, hogy bemutatjuk, melyik beállítás milyen hatással van a látványvilágra, illetve a sebességre. Emellett tippeket adunk arra, hogy milyen videokártyával nagyjából milyen grafikai részletességet lehet elérni folyamatos futás mellett, szaggatások, lassulások nélkül. Végül a legújabb hardverek extra tulajdonságaira is kitérünk, amelyek jelentősen javítanak minden játék látványvilágán, illetve tippeket adunk, hogyan hozhatsz ki még többet videokártyádból.
A DirectX-világ
A PC-s játékvilág mára egybeforrt a Windowszal és a DirectX-szel, aminek megvannak az árnyoldalai, de legalább némileg egységes platformot kínál a játékkészítőknek. Egy PC-s játék nem kommunikál közvetlenül a videokártyával, de még a driverrel sem feltétlenül, helyette a Windowsba integrált DirectX csatolófelületnek ad ki parancsokat. Ez a DirectX API hívja meg a videochip gyártója által készített driver különböző funkcióit, és a megfelelő rétegeken és jogosultságokon átverekedve magát eljut a grafikus chipig, ahol is kiszámításra kerül a 3D-s képkocka. A folyamat roppant körülményesen hangzik, és a valóságban még bonyolultabb is ennél, de jól működik, és a játékkészítők alkalmazkodtak hozzá. Az eddigi felálláson rengeteget változtat a Windows 10-ben megtalálható DirectX 12, amely fut a legtöbb mai videokártyán is, azonban a hozzá passzoló játékokra még várnunk kell pár hónapot/évet.
A folyamat kritikus eleme természetesen a GPU, amelynek számítási teljesítménye alapvetően meghatározza, hogy milyen gyorsan fog futni az adott játék, de legalább ennyire fontos a driver is. A meghajtószoftvert ugyanis lehet úgy programozni, hogy felkészülten várja a játékspecifikus utasításokat a DirectX-en keresztül. Ezt nevezik optimalizálásnak, ami adott esetben akár 30-50 százalékkal is képes növelni a teljesítményt, jelentős gyorsulást eredményezve. Éppen ezért érthető, miért kell folyamatosan frissen tartani videokártyánk driverét; ha pedig vadonatúj játékkal szeretnénk játszani, egyenesen követelmény, hogy a legújabb meghajtószoftverrel vágjunk neki a kalandoknak.
A sebességmérés alkímiája
Az fps-érték adja meg, hogy egy játék milyen sebességgel fut a számítógépen. Ez a frames per second rövidítése, és azt mutatja, hogy egy másodperc alatt hány képkockát képes PC-nk megjeleníteni az adott felbontásban és részletességgel. A tesztek során az átlagos értéket tüntetik fel, vagyis azt, hogy a néhány perces benchmark alatt milyen átlagsebességgel futott a játék. Ez jó alapot jelent arra, hogy eldöntsük, mennyire erős az adott videokártya, vagy mennyire hardverigényes az új játék, viszont nem mutatja meg pontosan, milyen lesz a játékélmény - ehhez további mutatókat és méréseket is számításba kell vennünk. Az átlagos sebesség csalóka, mert nem mutat szórást, és ez nagy hiba. Ha például egy játék vegyes bonyolultságú grafikával dolgozik, lehet, hogy a teszt kétharmadában 60 fps-sel fut, míg a másik felében csupán 5 fps-sel (ugyanazon a hardveren). Ebben az esetben hiába jó az átlagérték, ha a játék valójában játszhatatlan, mert a bonyolult részeknél egyszerűen a diavetítés tempójára lassul.
Ennél is bonyolultabb a mikroszaggatások kimutatása. Ezt a szakma micro stutternek nevezi, és arra utal, amikor az amúgy 40-60 fps-sel, gördülékenyen futó játékban egy-egy képkocka megakad. A legtöbbször észre sem vesszük, agyunk fel sem fogja a milliszekundumos megtorpanást, azonban több mikroakadás már rossz érzést kelt, a mozgást darabosnak fogjuk ítélni miatta. Érdekes módon éppen a több videokártyás csúcskonfigurációknak okoz jelentős gondot ez, ezeken a gépeken minden effektet maximálisra kapcsolnak a játékosok, és a felbontás is minimum full HD vagy akár 4K. Az SLI-be és a CrossFireX-be kapcsolt kártyák közti szinkronizálás apró hibáiból gyakran adódhat mikroszaggatás, de természetesen egy-GPU-s PC-knél is jelentkezik.
A mikroszaggatások mérésére a Frame Time-analízist fejlesztették ki. Ennek egyik módja, hogy egy igen erős digitalizáló kártyával rögzítik a 3D-s játékot videóként, majd ezt analizálják akadásokat keresve megfelelő algoritmusokkal. A másik, egyszerűbb megoldás a Fraps használata. A GameStar Pluson is megtalálható programmal megmérhetjük a játék fps-értékeit, rögzíthetünk videót és képernyőképet, valamint a Frame Time-ot is feljegyezhetjük. Utóbbinál egy grafikont kapunk, amely akkor ideális, ha egy szép, egyenes vonalat ad ki, tüskék nélkül. A tüskék a 3D-s kép kiszámításához szükséges idő drasztikus megugrását mutatják, vagyis a mikroszaggatást. A megtorpanásokat minden ember másként érzékeli, de általánosságban elmondható, hogy 30 ms alatt nincs olyan játékos, aki észlelni tudná őket. Az egy-egy magányos tüskével sem kell különösebben foglalkozni, ugyanakkor a sok tüskével tarkított részek már aggasztóak - ezeket játék közben is észlelni fogjuk. Beszédes érték a vizsgált játékidő 99 százalékában átlagolt képalkotási idő, amely a "lecsapott" 1 százaléknak köszönhetően kiszűri a láthatatlan tüskéket a mérésből. Ha ez az érték például 30-50 ms közötti, biztosak lehetünk benne, hogy mikroszaggatásokkal sem találkozunk.
Varázslatos matek
A játékok lélegzetelállító látványa láttán hajlamosak vagyunk elfelejteni, hogyan készült el az elénk táruló kép. A válasz egyszerű: a matematika segített benne. A grafikusok által megrajzolt tárgyak, szereplők, tájak mind adathalmazok, amelyekhez a programozók bonyolult műveletekkel látványos effekteket társítanak; utánozzák egy-egy felület vagy tárgy tulajdonságait, és a megrajzolt textúrákat úgy feszítik fel a 3D-s objektumokra, hogy azok minél inkább valósághűnek hassanak. A sok-sok számítás leterheli a grafikus chipet, olyannyira, hogy gyakran nem is engedhetjük meg magunknak az összes bekapcsolását. A látványvilágért alapvetően a játékmotor felelős, de sokat számít az is, hogy a GPU a driver segítségével milyen képjavító eljárásokat alkalmaz az elkészült 3D-s képen.
Anizotrop szűrés: Amikor egy 3D-s objektumra ráfeszítik a kétdimenziós textúrát, nem mindegy, milyen szögből látjuk azt, és milyen messze van tőlünk. Ha mindenhol a legnagyobb felbontású textúrát használnánk, hamar elfogyna a GPU ereje, ezért ahogy távolodik a tárgy, úgy cserélődnek a textúrák egyre kisebb felbontásúra (mipmapping). Emellett az anizotrop szűrés azt is figyeli, hogy milyen szögben látjuk a textúrát, és abban is segít, hogy a különböző felbontású textúrák közötti átmenet egyenletes és láthatatlan legyen. Az eredmény éles, kontrasztos, nem elmosódott, töredezett textúra mindenhol, miközben a sebesség alig csökken. Érdemes szinte mindenhol bekapcsolni, és miután kevéssé terheli a modern GPU-t, rögtön a 8-16-szoros beállítást válasszuk.
Élsimítás: A vektoros ábrázolás és a pixeles monitor velejárója, hogy lépcsőzetesek lesznek az élek, ami nagyon ronda. A programozók ezért kifejlesztették az élsimítást: a lépcsőzetes él körüli pixelek felhasználásával elsimítják az éleket. Többféle algoritmust is kidolgoztak az anti-aliasingra, de általánosságban elmondható, hogy minél nagyobb mintavételt választunk, annál komolyabb a számítási igény, vagyis a lassulás. Még a mai GPU-kat is végzetesen leterhelheti egy SSAA vagy akár egy nagyobb MSAA, ezért alternatív megoldásokat dolgoztak ki. A CSAA/CFAA (Coverage Sampling AA, Custom Filter AA) az MSAA-val elérhető eredményt produkál kb. feleakkora erőfeszítés mellett. Az AMD-féle MLAA (Morphological AA) és az Nvidia FXAA (Fast Approximate AA) szintén utólagos szűrőkkel oldja meg az élsimítást, de szebb eredménnyel és jobb erőforrás-felhasználás mellett.
A legújabb algoritmus a TXAA, vagyis Temporal AA, amelynek igazi előnye, hogy a simított élű, mozgó vonalak vibrálása nem jelentkezik. Az élsimítás komoly megterhelést jelent a GPU-nak, ami akkor a legfájóbb, ha videomemóriából is kevés van a GPU mellett (1 GB).
A leggyakoribb 3D-s effektek
Játék közben az élmény a legfontosabb, amihez rengeteget képes hozzátenni a szép látvány. Ehhez persze minőségi játékmotor, szép textúrák és jó modellek, pályák, egyéb hozzávalók szükségesek. Mi azt mutatjuk meg, hogy melyik effekt miként befolyásolja a látványt és a sebességet. A táblázatban azt is láthatjátok, hogy adott videokártya-kategóriával mely játékokban nagyjából milyen beállításokkal érdemes próbálkozni. Nem mindegy, melyik effekt szintjéből veszünk vissza, ezért ha lassulást, szaggatást tapasztalsz, azokkal kezdd, amelyek kevésbé rontják a látványt.
Felbontás: Kezdjük máris a legfontosabbal: hogy mennyi pixelből is áll a kép. A felbontás alapvetően meghatározza a képminőséget és a látványvilágot. Lehet bármilyen látványos az effekt és szépen megrajzolt a textúracsomag, ha a felbontás alacsony, a végeredmény elmosódott, homályos, rossz minőségű, és elvesznek a részletek. Mindezen csak tovább ront az élsimítás. További gond, hogy amennyiben nem a kijelző natív felbontását használjuk, a monitornak, tévének is skáláznia kell, így még elmosódottabb lesz a kép.
Manapság a HD felbontás a belépő a játékok világába, vagyis a 720p, amelyben általában a játékkonzolok is működnek. Ezzel dolgozni nem különösebben nehéz feladat már egy alapszintű videokártya számára sem. A full HD óriási előrelépés látványban, és ez az a pixelszám, amit már egy középkategóriás videokártyával is nyugodtan megcélozhatunk. A legtöbb monitor is ebben a felbontásban dolgozik, így (még mindig) ez az ideális választás. A WQHD még egy fokkal jobb; képe sokkal élesebb, különösen 27 colos képátló mellett látványos a különbség, ugyanakkor sokkal erősebb videokártya szükséges hozzá. A 4K, vagyis az ultra HD azonban már túllő a célon: a full HD felbontásnál négyszer több pixelt kell kiszámolnia a GPU-nak, ami még a csúcskártyákat is megizzasztja, ráadásul megfelelő monitor is szükséges hozzá.
Az erős videokártyák tulajdonosai kihasználhatnak egy ötletes képjavítási trükköt, amelyet az Nvidia Dynamic Super Resolutionnek, az AMD Virtual Super Resolutionnek nevezett el. A trükk végtelenül egyszerű (legalábbis papíron): a GPU-val 4K-ban számoltatja a játékot a driver, majd az elkészült képet leskálázza a monitor alacsonyabb, natív felbontására, tehát full HD-ra vagy WQHD-ra. Az eredmény tiszta, éles és igazán jó minőségű kép, amelyen már az élsimítás is megtalálható. Persze mindehhez minimum felsőkategóriás, 150-200 ezer forintos videokártya szükséges.
Tárgyak részletessége: Noha nem érdemes spórolni a tárgyak részletességén, a sok poligon komolyan megdolgoztathatja a GPU-t. Ahogy egy-egy tárgy távolodik a kamerától, úgy csökken a poligonszáma, ennek a csökkenésnek pedig lehet szabályozni a mértékét. Különösen a nagy látótávolsággal dolgozó játékokat gyorsítja fel jelentősen, ha nem állítjuk maximálisra a részletességet. Ezt a mutatót minden játék más-más lépésben engedi csökkenteni. Sebességgondok fellépésekor a maximálistól egy-két lépésenként haladjunk lefelé, és ellenőrizzük a gyorsulást, illetve a minőségromlást. Közepesnél rosszabbra nem érdemes állítani, és a látótávolságot sem ajánlott túlságosan lekorlátozni.
Textúrák minősége: Ha a textúrák kis felbontásúak, homályos, rossz, elmosódott képet kapunk, ami borzalmasan lerontja a látványt még akkor is, ha az egyéb effekteket meghagyjuk. Ugyanakkor ezt mindenképpen csökkentenünk kell, ha gyengébb a videokártyánk, különösen szűk sávszélességen kapcsolódó, 1 GB-nyi VRAM-mal, ugyanis a nagy felbontású textúrák sokkal nagyobb tárhelyet foglalnak. Érdemes kísérletezni, de közepesnél rosszabb opciót nem ajánlunk. A speciális, átlátszó, tükröződő felületek még több feladatot akasztanak a GPU nyakába, ezért ezekhez sokszor külön beállítási pont tartozik. Ha sok a vízfelület, és lassú a játék, ezt az opciót keressük meg, és állítsuk szelídebbre, de számoljunk azzal, hogy a látvány is veszít az élethűségéből.
Részecskék: A robbanások, lövések, ütközések, füst, gőz, por akkor igazán valóságosak, ha részecskék is megjelennek. Ezeket azonban külön-külön tárgyként kell kezelni, amelyek ütköznek, hatnak rájuk a fizikai erők, és ez nagyon sok számítást igényel. Ha kevés a GPU shadere, komoly terhelést jelent a videokártya számára. Játékmotortól függ, de akadozáskor érdemes közepesre vagy alacsonyra állítani ezt az opciót. Ha a PhysX API-ra van bízva a részecskeszámítás, különösen AMD kártyával rendelkezvén vigyázzunk aktiválásával, mert még egy középkategóriás GeForce-szal is látványos lassulást okozhat.
Megvilágítási effektek: Megvilágítás nélkül steril, visszataszító képet kapunk, így nem tudjuk beleélni magunkat a játékba. A világításnak rengeteg formája használatos, de egyre többször dinamikus, valós időben számolt fényeket alkalmaznak, ami élethű látványt eredményez. Ezeket nem szabad teljesen lekapcsolni, ugyanakkor lehet, hogy a globális megvilágításról (amely a legjobb látványt nyújtja) le kell mondanunk, ha nem elég erős a videokártyánk. Ilyenkor a játékmotor minden, a képen megjelenő tárgyhoz valós időben kiszámolja a megfelelő megvilágítási értékeket, minden tükröződést, fényelnyelést stb. A Global Illumination még túl nagy falat a GPU-knak, ezért a legújabb játékokban is csak óvatosan használják a fejlesztők.
Egyik kedvencünk a Subsurface Scattering (SSS), amely az emberi bőr élethű megjelenítésének egyik legfontosabb eleme. Ez az algoritmus szimulálja azokat a felületeket, amelyeknek a felső rétege még részben átengedi a fényt, és csak a mélyebb rétegei nyelik el vagy verik vissza, akkor viszont egy másik pontban lép ki a fény a test felszínéről. Ezzel a megoldással teljesen valóságosan ábrázolható az emberi bőr, de a számítási igény a minőség javulásával exponenciálisan nő, ezért ha szabályozhatjuk, csak óvatosan adagoljuk a játékokban.
Nagyon szép látványt lehet összehozni egy-egy trükkös fényeffekttel, ezért rengetegféle megoldás ismert: Lens flare, színes fények, direkt és indirekt megvilágítások keverése és még sorolhatnánk. A GPU-t technológiánként változó módon terhelik, ezért érdemes maximálisról indulni, és ebből engedni, ha alacsony az fps-szám.
Árnyékok: A fényekkel együtt jár az árnyékok számítása, amelyek sokat dobnak az élethűségen. Az árnyékok megjelenítésének is többféle módja ismert, ráadásul léteznek extra megoldások is, amelyek közelebb viszik a látványvilágot a valóságoshoz, azonban a GPU nagyon megdolgozik a kiszámításukkal. A legnépszerűbb manapság az Ambient Occlusion (AO), abból is az AMD-féle HDAO és az Nvidia-féle HBAO. Az algoritmusok minden tárgyhoz minden körülményt, takarást, fényforrást figyelembe véve egyedi, valós időben számolt árnyékot képesek számolni, ami hatalmasat dob a látványvilágon, de túlságosan leterheli még a legmodernebb GPU-t is. Közepes vagy gyengébb videokártyánál akár le is mondhatunk az AO-megoldásokról, és alacsonyra állíthatjuk a hagyományos árnyékok részletességét is; annyival nem romlik a látványvilág, mint amennyi számítási teljesítmény felszabadul. Erősebb GPU-n azonban mindenképpen aktiváljunk SSAO-t, HDAO-t vagy HBAO-t.
Utómunka: A filmszerű látványt a 3D-s kép elkészítése után lehet megteremteni. Ilyenkor a színhőmérséklet változhat, a kromatikus aberráció a távoli, oldalt elhelyezkedő, nem fókuszban lévő tárgyakat varázsolja élethűvé, a napsugarakat, beégő fényeket is fel lehet "rajzolni" a képre, élesítik a képet, sokszor aktiválhatóvá teszik a HDR-látványt, és a motion blur, vagyis elmosódás is ilyenkor kerül fel. Játékonként változó az utómunkák minősége és mennyisége, így a GPU terhelése is. Kezdjük maximumról, és fokozatosan csökkentsük, ha túl lassan fut a játék.
Tesszelláció: Roppant látványos trükk a poligonok mesterséges felduzzasztása. Ilyenkor a kevéssé kidolgozott tárgyat interpolálással a GPU több poligonra bontja, ezáltal például a szögletes labda kerek lesz. Mindez csupán a GPU-t terheli, így megfelelő videokártyával mindenképpen kapcsoljuk be, szépen feljavítja a látványt.
Speciális effektek: Különösen az Nvidia, de azért az AMD is igyekszik egyedi effektekkel házalni a játékfejlesztőknél. Az Nvidia egyik látványos megoldása például a HairWorks, amely valós szőrhatást ad a látványhoz. Az AMD hasonló megoldását TressFX-nek nevezik. Próbáljuk ki őket, mert nagyon sokat hozzáadnak a látványhoz, ugyanakkor bánjunk velük óvatosan, mert komolyan leterhelik a GPU-t.
Hardveres trükkök
A játékon belüli finomhangolás mellett néhány hardveres trükköt is bevethetünk, feltéve persze, hogy rendelkezünk a megfelelő komponensekkel. A legújabb őrület, amelyről már mi is többször írtunk, az adaptív vertikális szinkronizáció. Ennek során a monitor képfrissítését szinkronizálják a GPU képalkotási sebességéhez, így a kép nem esik darabjaira (ahogy egyébként kikapcsolt V-Sync mellett teszi), és a monitor sem fogja vissza feleslegesen a GPU-t, valamint a képkockasebességet (ahogy bekapcsolt V-Sync mellett teszi). Ehhez megfelelő videokártyára és monitorra lesz szükségünk. Fontos információ, hogy az AMD Freesync és az Nvidia G-Sync nem kompatibilisek egymással: előbbi olcsóbb, de alacsony fps mellett hatástalan, utóbbi igazán jó eredményt ad, de a megfelelő monitorok méregdrágák. Ha minden kötél szakad, és még mindig hiányzik a megfelelő sebesség, de már nem akarjuk tovább rontani a látvány minőségét, tuninggal is megpróbálkozhatunk. Erre számtalan program létezik, de a legjobb mindenképpen az MSI-féle Afterburner, amely más gyártók kártyáival is működik. Ha sikerül a GPU és a VRAM órajeleit feltornáznunk, akár 20-30 százalékos gyorsulást is elérhetünk a 3D-megjelenítésben, ami akár egy lépcsőfokkal szebb látványhoz vagy nagyobb felbontáshoz is felhasználható.