Befutott a Total War: Warhammer DirectX 12-es frissítése

Viszonylag régóta ismert, hogy a nemrég megjelent Total War: Warhammer kap egy DirectX 12-es frissítést, amelyet a média korlátozottan ugyan, de elért, ugyanakkor a játékosoknak erre várni kellett. A várakozásnak azonban vége, mivel az Update 1 csomagban megérkezett az új API-t támogató leképező, így mostantól mindenki tesztelheti az előnyeit.

Pár dologgal azonban érdemes tisztában lenni, ugyanis a frissítést több kérdést vet fel, mint amennyit megválaszol. Többek között rengeteg felhasználó panaszkodik arra, hogy a DirectX 12-es mód nem indul el, holott elvileg DirectX 12-vel kompatibilis VGA duruzsol az adott PC-ben. Nyilván az egyes, specifikus esetekben nem zárható ki valamiféle programhiba, de azzal tisztában kell lenni, hogy a Total War: Warhammer valóban nem indul el minden, DirectX 12-vel kompatibilis VGA-n. A program futtatása minimum a D3D_FEATURE_LEVEL_12_0 szinthez kötött, vagyis a játék az NVIDIA oldaláról a Kepler generáción, illetve a Maxwell architektúrára épülő GM107-es GPU-t használó VGA-kon nem indul el, míg az AMD oldaláról a Tahiti, a Pitcairn és a Cape Verde GPU-kat használó Radeonokon nem fog futni. Az Intel szempontjából elvileg csak a Skylake IGP-je alkalmas a futtatásra, de tesztelni már nem tesztelték, így hibátlan működést nem garantálnak. Mindemellett az aszinkron compute-ot a fejlesztők csak a Radeonokon hagyták alapértelmezetten, míg a GeForce-okon egységesen tiltják.

A fenti limitációk később megváltozhatnak, hiszen a fejlesztés ezzel a frissítéssel nem állt le, de első körben ennyi fért bele. Technikailag a minimumként megszabott D3D_FEATURE_LEVEL_12_0 szintnek nincs sok értelme, mivel DirectX 11-ben fut a program az említett hardvereken is, vagyis leginkább azért hozhattak ilyen döntést a fejlesztők, hogy a támogatandó hardverek számát lekorlátozzák, így egyszerűbbé tegyék a munkát a DirectX 12-vel. Az aszinkron compute már speciálisabb probléma, amit ha nagyon a Radeonokra szabtak, akkor jobb, ha inaktív a GeForce-okon, hiszen egy nem jól kialakított ütemezés jelentősen ronthatja a teljesítményt.

A publikus DirectX 12-es kód egyébként frissebb annál, amit a média kapott a tesztelésekre. Egyrészt minden eljárás működik benne, másrészt további optimalizálásokat kapott, amivel az aszinkron compute még hatékonyabban dolgozik. A DirectX 11-hez képest az előny változó. Gyengébb processzor mellett nyilván sokkal kedvezőbb lesz a játékot DirectX 12-ben futtatni, hiszen ez az API lehetővé teszi a többszálú parancsfeldolgozást. Némileg a töltések ideje is csökken, hiszen a shader fordítás DirectX 12 alatt nem valós idejű. Erősebb processzor mellett a DirectX 12 fő extrája az aszinkron compute által elérhető gyorsulás, de maga a játék a potenciálisan sok rajzolási parancs miatt tartogat extrém jeleneteket is, amelyek DirectX 12 alatt gördülékenyebben futnak.

Az alkalmazás DirectX 12-es módja támogatja a több GPU-s rendszereket is. A multiadapter mód működése egyelőre nem részletezett, de két GPU erejéig gyorsul a feldolgozás. A skálázódás függ a párosított GPU-k felépítésétől, kiemelve a DMA motorok hatékonyságát, illetve a grafikus parancsprocesszor limitjeit. Az elérhető extra tempó jellemzően 50-80% közötti. A program a gyártók mixelését nem támogatja.