Hirdetés

Az Oxide Games végre számokban beszélt a Mantle API-ról

Ez a hét a Mantle API képességeiről szólt, amiről írtunk is egy cikket, de sokan számokat szeretnének látni, ami a legtöbb APU13-on tartott előadásból kimaradt. Az Oxide azonban megmenti a rendezvényt, és igen érdekes ismertetővel hozakodtak elő a várható teljesítménynövekedés szempontjából. Természetesen a főszerepet a Nitrous nevű videojáték-motor kapta, mely nem kisebb célt tűzött ki maga elé, mint a PC-s stratégiai játékok felvirágoztatását. Ha ez csak a technológián múlik, akkor fényes jövő elé néz a műfaj, mivel az Oxide Games veterán programozói egészen új koncepció szerint dolgoznak.

Dan Baker, Tim Kipp és Guennadi Riguer viszonylag sokáig ecsetelte az aktuális problémákat, amiből lényegében leszűrhető volt, hogy a hardverek fejlettek, de az aktuális grafikus API-k leragadtak egy igen korlátolt szinten. A DirectX 11 deferred context funkcióját egyenesen bukásnak könyvelték el, ami elég komoly kritika attól az embertől, aki egyedüliként használni tudta. Az Oxide Games nagyon egyszerűen gondolkodik, mivel szerintük a modern API anatómiája az egyszerűségen alapszik.

A kevesebb néha több? Lehetséges. Sőt, a mai GPU-k igazából inkább processzorok, amelyek programokat futtatnak. Konkrétabban shader programokat, és ezeknek van egy bemenetük, illetve egy kimenetük. Ez tömören azt jelenti, hogy egy korszerű API-nak csak annyit kell kínálnia, amivel a shader programokat le lehet futtatni. Ez alapvetően egy bizalom a fejlesztők felé, hiszen a kontrollt átveszik a drivertől és az operációs rendszer driver modelljétől, de Dan Baker szerint semmi olyat nem tesznek, amit a konzolokon ne tennének meg, így az operációs rendszerek biztonságban vannak.

StarSwarm demonstráció
StarSwarm demonstráció (forrás: Hardware.fr) [+]

A problémákat az Oxide Games szemléltette is egy StarSwarm nevű demonstrációval, ami tulajdonképpen a Nitrous motor nagyon korai (pre-alpha) változatára épül. Mivel itt egy technikai bemutatóról volt szó a modellek nem voltak túlságosan részletesen kidolgozva, amin a művészek nyilván sokat javíthatnak, de egyelőre ennyivel kell beérni. A program azonban így is nagy sikert aratott, mivel megmutatta, hogy miképp nézhet ki egy olyan stratégiai játék, ami százezer kötegelt paranccsal dolgozik. Ez gyakorlatilag tízszer több mint amennyit ma egy játékban láthatnak a felhasználók. A demonstráció egyébként két fél csatáját mutatta be, nyilván ezúttal két mesterséges intelligencia vívott egymással, de ez reprezentálja, hogyan lehet majd játszani. A Mantle API-t használó példaprogram egyébként a következő év első negyedévében letölthető lesz, így bárki eljátszhat vele.

A StarSwarm sebessége DirectX 11, DirectX 11 deferred context és Mantle mellett A StarSwarm sebessége DirectX 11, DirectX 11 deferred context és Mantle mellett A StarSwarm sebessége DirectX 11, DirectX 11 deferred context és Mantle mellett
A StarSwarm sebessége DirectX 11, DirectX 11 deferred context és Mantle mellett (forrás: Hardware.fr) [+]

Az Oxide Games végzett egy kis összehasonlítást is, így készítettek egy ötvenezer kötegelt paranccsal dolgozó jelenetet tízezer egyedi egységgel. A DirectX 11-es kód 99 ezredmásodpercnél is tovább számolt egy képkockát, és a deferred context bevetése sem segített ezen, csupán a driver hat programszálából nem három, hanem öt volt aktív. Mindez egy Intel Core i7-4770K processzoron futott, amelynek láthatóan rengeteg kihasználatlan erőforrása maradt. A Mantle API ugyanezekkel a feltételekkel 33 ezredmásodperc alatt kiszámolt egy képkockát, ami több mint háromszoros gyorsulást jelent. Persze ez egy extrém szituáció, hiszen jóval túlment az Oxide Games a DirectX API tűréshatárán, de állításuk szerint ez a lényeges összehasonlítás, mivel a Mantle ott érzi magát elemében, ahol a DirectX már haldoklik. A fejlesztők nyolcvanezer parancsot is ráengedtek egy hatmagos processzorra, és a sebességet stabilan tartotta az új API.

Az összegzés szerint a StarSwarm program háromszor gyorsabban futhat bizonyos szituációkban, ugyanazzal a hardverkonfigurációban csupán az API különbségeire építve. A leglényegesebb, hogy a teszthez használt AMD Radeon R9 290X kártyával az alkalmazás GPU-limites volt, és még akkor is az maradt, amikor a CPU-k cseréjével játszadoztak a fejlesztők, és a frissen bevetett AMD FX-8350-es processzor nyolc magjának órajelét 2 GHz-re csökkentették. Természetesen még ezzel az összeállítással is sokszorosan gyorsabb volt a program a DirectX kódnál. Ezt az előrelépést két hónapnyi munkával sikerült elérni egy korai Mantle kóddal, minimális mennyiségű példaprogram mellett. Ráadásul csak ezer sorral hosszabb a Mantle leképző, ami az Oxide Games szerint bőven megéri, ha ilyen gyorsulást hoz.

A jövő szempontjából az Oxide Games nagyon optimista. Állításuk szerint innen már nincs visszaút, mivel a Mantle bizonyíték, hogy nem lehetetlen a mai hardvereket hatékonyabban használni. Az AMD által felvázolt százezer rajzolási parancs is elérhetőnek tűnik, sőt meg is haladható, hiszen a Nitrous még optimalizálatlan. A fejlesztők 2015-re háromszázezer, míg 2018-ra egymillió rajzolási parancs kiadásának lehetőségét jósolják. Utóbbit nehezebb lesz elérni, hiszen többmagos processzorok sem skálázódnak majd a végtelenségig, de az APU-k IGP-je értékes alternatíva lehet, végtére is miért ne lehetne egy grafikus API-t grafikus processzorral gyorsítani.

Azt egyébként érdemes megjegyezni, hogy az Oxide Games tesztje rendkívül egyedi. Jól mutatja a Mantle képességeit, de a gyorsulást úgy érték el, hogy a DirectX kód 10 képkocka/másodperces sebességgel sem futott. Ezt nyilván egy valós játék esetében nem lehet megtenni, így a Mantle előnye is csökkenne.

  • Kapcsolódó cégek:
  • AMD

Azóta történt

Előzmények

Hirdetés