Az optimalizálást tartja szem előtt az új Frostbite

Az Electronic Arts DICE, majd később Frostbite Team részlege majdnem egy évtized leforgása alatt az ígéretes Frostbite videojáték-motor első verziójából kifejlesztette az iparág messze leghatékonyabb megoldását. Ez persze rengeteg pénzt emésztett fel, de az eredmények magukért beszélnek. A Star Wars Battlefront és a Need for Speed című játékok alapját képző legújabb Frostbite verzióról ódákat zengenek a játékosok, kiemelve a grafikát és optimalizáltságot. A nagy kérdés már a következő nagy frissítés, amely a Battlefield 1-hez készül, és erről már szivárognak az adatok, amelyek bizakodásra adnak okot.

A legújabb Frostbite szimplán számozás nélkül érkezik, ami különösebben nem lényeges. Sokkal fontosabb, hogy a rendszer a nyers grafikai fejlődés helyett az optimalizálásra fókuszál. A Frostbite Team valószínűleg nem volt megelégedve azzal a sebességgel, amit az aktuális motorverzió kínált, így a komolyabb gyorsulást tervezték be. Utóbbi azért is lényeges, mert az extra sebességet el lehet költeni extra grafikára is, vagyis több szempontból is nyerő ez az irány.

A Battlefield 1-hez a DICE minden korábbinál nagyobb helyszíneket álmodott meg, minden eddiginél nagyobb csatákkal, így ennek kiszolgálására készül egy új motorstruktúra. Ilyen formában a Frostbite új verziója az általános leképezési modell szempontjából magasabb szintre helyezi a motor leképezőjét, amit egy API-hoz közvetlenül kapcsolódó réteg egészít ki az eddiginél jóval alacsonyabb szinten. Ennek az előnye, hogy az utóbbi rétegből több is lehet a rendszerben, így lehet igazodni az API-k típusához, gondolva itt a normál és az explicit API-k működésbeli eltéréseire. Ez a módszer leginkább az explicit API-khoz ideális, mivel így nagyon hatékony skálázódást lehet elérni a processzor oldalán. Nem véletlen, hogy például a Nitrous videojáték-motor is hasonló strukturális felépítést használ.

A másik fontos lépcső a GDC-n bemutatott, compute-alapú kivágási rendszer teljes integrálása, vagyis az új Frostbite verzió már csak ebben a módban működik. Ez ma még azért csak opcionális optimalizálási lehetőség, mert az Intel IGP-k DirectX 11-ben nem képesek futtatni, így ezeknek a hardvereknek szükséges a normál kivágási metódus beépítése is. A DirectX 12 és Vulkan API-ban azonban már az Intel IGP-k sem jelentenek gondot, mert az említett platformok lehetővé teszik az indirekt rajzolás emulációját. Ebből az is kiderült, hogy az új Frostbite verzió explicit API-kra vált, bár ez biztosan nem okozhat meglepetést. További jó hír, hogy a compute-alapú kivágási rendszer az év végéig továbbfejlődik, így kap egy Ballot optimalizálást, ami jelentősen növeli a végrehajtási tempót. Utóbbi miatt valószínű, hogy az érkező játékok PC-s portjai a Vulkan API-t fogják használni, ugyanis a Ballot a SPIR-V alatt szabványosan elérhető, míg DirectX 12-ben csak a GCN-es Radeonokhoz van olyan GPUOpen AGS kiterjesztés, ami képes az Xbox One HLSL shaderjeit futtatni. Nyilván ilyen esetben mindig érdemesebb a szabványos utakat járni, mert ahhoz nem kell gyártókra levetítve eltérő kód.

Végül az új Frostbite esetében a WDDM 2.0 került fókuszba, vagyis az egész rendszert ehhez a modellhez írták. Azt korábban sem titkolta a DICE, hogy az idei év végére szeretnék elérni, hogy minimum igényként tekinthessenek a Windows 10-re, ezen belül is a WDDM 2.0-ra. Persze elképzelhető, hogy a többi operációs rendszer elterjedtsége miatt lesz támogatás a korábbi WDDM-ekre is, de a leghatékonyabban a WDDM 2.0-n fog futni az új Frostbite. Itt elsődlegesen a memóriamenedzsmentre kell gondolni, ami Windows 10 alatt lényegesen kedvezőbb lehet, így a VRAM később fogyhat el, mint a korábbi operációs rendszereken.

Összességében ezek a változások lehetővé teszik a jóval nagyobb helyszínek és jóval komplexebb jelenetek megalkotását úgy, hogy a rendszer közben skálázható marad, így a gépigény kezelhető szinten tartható. Extra adalék az is, hogy a Battlefield 1 támogatni fogja a HDR kijelzőket is, ami persze önmagában nem nagy munka, köszönhetően annak a Frostbite belsőleg jó ideje HDR futószalagot használ, így gyakorlatilag csak azt kell megoldani, hogy a kimenetre mehessen HDR kép is, természetesen figyelembe véve, hogy az adott konfiguráció támogatja-e ezt a lehetőséget.

Azóta történt