Félreérthető bejelentés érkezett a Hitman DirectX 12 módjáról

Az IO Interactive és az AMD nemrég jelentette be, hogy a hamarosan megjelenő új Hitman játék tartalmazni fog egy DirectX 12-es módot, amit egy ideje már lehetett sejteni, mivel a DirectX 11-es mód nem kap meg majd minden grafikai effektet. A hivatalos bejelentés azonban eléggé félreérthetőre sikeredett, ugyanis az IO Interactive konkrétan leírta, hogy az AMD GCN architektúrájának egy egyedi funkcióját használják, amely más hardverben nem található meg. Nevezetesen itt az ACE egységekről van szó, így kitalálható, hogy a új Hitman nagyon épít az aszinkron shader képességre, amivel a stúdió bevallása szerint úgy érhető el jobb grafika a DirectX 12-ben, hogy az nem jár teljesítményveszteséggel.

Hirdetés

Ezek a bejelentések igazából nem meglepők, hiszen az aszinkron shader, vagy más néven aszinkron compute pont arra van kitalálva, hogy az éppen semmit sem csináló shader feldolgozókat hasznosítsa, így a hardver kevesebb része lesz üresjáratban. Az azonban valóban rendkívül szerencsétlen megfogalmazás, hogy a DirectX 12-t módot úgy harangozzák be, hogy ez egy olyan egységet használ, amely jelenleg csak AMD Radeonokban található meg. Nem véletlen, hogy máris előkerült pár olyan bejegyzés (például egy pont az AnandTech fórumán), amely AMD exkluzivitásról beszél.

Az igazság az, hogy az új Hitman DirectX 12-es módja teljesen szabványos. Se a működése, sem pedig az extra effektek nincsenek az AMD hardvereihez kötve. Sajnos úgy néz ki, hogy ezzel kapcsolatban rengeteg a félreértés, így azt mindenképp fel tudjuk vázolni, hogy amiről az érintett cégek sajtóanyagja ír az valójában egy alapértelmezett funkciója a DirectX 12-nek. Nevezetesen a multi-engine-ről van szó, amely a DXKG-n keresztül valósul meg. A specifikáció felépítése viszont rendkívül rugalmas, így elfogadja azt is, ha az adott gyártó multi-engine implementációja teljesen szoftveres. Nem is lehetne más tenni, amikor a maga az API szimplán nem fogad el single-engine kódot, ez a lehetőség a DirectX 11-gyel megszűnt.

A trükk a motorháztető alatt rejtőzik. A DirectX 12 multi-engine funkciója kiterjesztéses rendszer, vagyis a hardver szempontjából elég, ha csupán grafikus parancslistából képes betölteni a parancsokat. Emellett persze különálló parancsprocesszorokkal, illetve több DMA motorral megoldható a compute és a copy parancslisták direkt hardveres kezelése. Ugyanakkor ha ilyenek nincsenek a hardverben, akkor a compute és a copy parancsok legrosszabb esetben betölthetők a grafikus parancslistába és a programkód lefuthat.

Azt persze számításba kell venni, hogy a szoftveres implementációval az aszinkron feldolgozás nem lehetséges, tehát a feladatok nem tudják majd egymást átlapolni, vagyis a grafikus vezérlő képtelen lesz a feladatpárhuzamos végrehajtásra. Ez azonban nem jelenti azt, hogy a rendszer megtagadja a szabványos kód futtathatóságát.

Játszhatunk tehát itt az olyan mozaikszavakkal, mint az ACE, ami nyilván a marketing szempontjából értékes, de végeredményben egy szabványos API-ra írt alkalmazásról van szó, és ez az API alapvetően megköveteli a multi-engine funkció támogatását, lehetőség szerint hardveresen, de a szoftveres implementáció is teljesen elfogadott. Alaptalanok tehát azok a friss bejegyzések, amelyek szerint az új Hitman DirectX 12-es módjában bármilyen szempontból is exkluzivitást élveznek az AMD hardverei.

Azóta történt

Előzmények

Hirdetés