Hra Sniper Elite 3 dostala podporu API Mantle. Nárůst výkonu je netriviální

6. 10. 2014

Sdílet

 Autor: Redakce

Včera jsme informovali, že Microsoft vydá DirectX 12 jako součást nadcházejících Windows 10, zřejmě zhruba za rok. Minulý týden se ale děly věci i okolo konkurenčního grafického API Mantle, v tuto chvíli určeného pro grafiky AMD s architekturou GCN. Firma Rebellion totiž přidala podporu vykreslování přes Mantle do své hry Sniper Elite 3. Ta se tak stává dalším titulem, na němž si můžete výhody Mantle vyzkoušet.

Cílem vývojářů bylo zejména co nejlépe rozložit zátěž CPU na více jader (hlavně u volání API). Přes Mantle tedy hra lépe využívá CPU, více výkonu ale vymačkává i z grafické karty. V benchmarcích je přitom zátěž procesoru nižší, i když GPU zároveň produkuje více snímků za vteřinu než pod DirectX. Kevin Floyer-Lea z Rebellion zveřejnil výsledky testů pro level Siwa, kde Mantle zvedá FPS o 20 % i více na nízkých rozlišeních (kde je brzdou CPU), o solidních víc jak 10 % je ale výkon lepší i v rozlišení 1920 × 1200, na němž už se reálně hraje.

Mantle vykazuje lepší rozložení záteže mezi dostupná jádra CPU
Mantle vykazuje lepší rozložení záteže mezi dostupná jádra CPU

Testování (tabulky s podrobnými výsledky vidíte v galerii) přitom běželo na ne úplně pomalém CPU: Core i7-3770K, pravda nepřetaktovaném. Radeon R9 290X s tímto čipem je pod Mantle rychlejší o 12,7 % v rozlišení 1920 × 1200 ultra. Při vykreslování v 1920 × 1200 s 4× supersamplingem (což je vlastně totéž, co „dynamic super resolution“ od Nvidie: vykresluje se na 3840 × 2160 bodech a poté je obraz škálován na nižší rozlišení) Mantle zvládlo 52,1 snímků za sekundu oproti 48,9 v DirectX 11. To je stále ještě zlepšení o 6,5 % – a tedy ne úplně málo. Oba režimy přitom využívají stejné shadery a stejné textury, takže zrychlení není dáno nějakými „optimalizacemi“ na úkor kvality, ale čistě zefektivněním práce enginu.

API Mantle ve hře Sniper Elite 3

API Mantle ve hře Sniper Elite 3

Kromě kombinace Core i7-3770K a Radeon R9 290X bylo otestováno i Core 2 Quad Q9450 (opět na základním taktu 2,66 GHz) s Radeonem HD 7970. Pokud si vzpomínáte, v počátečních fázích u starších karet s čipy jako Tahiti nemělo Mantle z počátku takový pozitivní vliv, jako na novšjším GPU Hawaii. V Sniper Elite 3 to ovšem neplatí. Starší Radeon dosahuje podobně dobrých zlepšení jako R9 290X: v 1920 × 1200 ultra je výkon lepší o 13,6 % (zvýšení z 80,4 na 91,3 snímků za vteřinu), při maximálním vytížení GPU s 4×SS je výkon o 3,9 % lepší.

 

Přitom se jedná o výsledky z relativně rané fáze implementace (nejsou například použity asynchronous compute queue) a nadto Rebellion uvádí, že už DirectX verze enginu se různými optimalizacemi snaží obcházet ta omezení tohoto API, na něž má být Mantle lékem. Náskok, který Mantle ukazuje, tedy není jen tak a poukazuje na potenciál tohoto API (ale potažmo i DirectX 12) do budoucna. Optimalizace způsobu výpočtů a lepší práce s CPU by měla uvolnit zdroje pro komplexnější efekty nebo další subsystémy hry, jako je třeba umělá inteligence nepřátel.

 

 

Implementace Mantlu obnášela různé změny ve struktuře enginu Asura. Tyto úpravy enginu zároveň zřejmě poslouží coby generálka na DirectX 12 od Microsoftu. Rebellion údajně dokonce uvažuje o tom, že by v enginu pomocí určité abstrahující mezivrstvy eventuálně podporoval hned několik nízkoúrovňových API (budoucí nízkoúrovňové OpenGL, nebo třeba Metal od Apple).

Sniper Elite 3, level Siwa
Sniper Elite 3, level Siwa

 

bitcoin_skoleni

Sniper Elite 3 s Mantle už je na Steamu

Mantle v Sniper Elite 3 si můžete vyzkoušet už i sami, máte-li v PC Radeon s architekturou GCN. Vykreslování přes toto API by mělo být dostupné ve verzi hry dostupné v tuto chvíli na Steamu, stačí přepnout volbu v spouštěči hry. Požadovány jsou ovladače Catalyst 14.9. Rebellion také do hry přidalo benchmarkovací režim, s kterým si můžete výkon své karty v DirectX a Mantle exaktně porovnat a z nějž by měly pocházet i výše uvedené výsledky.

Zdroje: Rebellion, VideoCardz