A Microsoft leleplezte a DirectX 12-t

Az extrák és a támogatás

Az előző oldal igen tömören vázolta fel a DirectX 12-t, illetve az API-nak az összes képessége sem ismert még, de például az előadáson előkerült, hogy a Microsoft nem módosít az aktuális, úgynevezett feature levelekre épülő koncepcióján. Olyannyira nem, hogy a D3D_FEATURE_LEVEL_11_0 és a D3D_FEATURE_LEVEL_11_1 változatlan formában része az új API-nak. Persze a strukturális működés nem ugyanaz, de funkcionális szempontból egyszerűbbnek látta a vállalat, ha ezekhez nem nyúl hozzá. A fentebb nem említett, gyengébb szintek szimplán kikerültek, de ez nem akkora gond.

A jó hír az, hogy a DirectX 12-t mindegyik, legalább DirectX 11-et támogató hardver képes támogatni. Ehhez nyilván szükségesek új driverek, de a hardverek megfelelők. A legtöbb rendszer persze a D3D_FEATURE_LEVEL_11_0 szintet kapja meg, míg az AMD GCN, illetve az Intel Gen7.5 architektúrája a D3D_FEATURE_LEVEL_11_1 szintre nevez be. A többi ismert extra egyelőre opcionális, de az már kiderült, hogy az Xbox One ezeket támogatja, így tekintve, hogy ebben AMD GCN architektúra dolgozik, kitalálható, hogy a támogatás az újabb Radeonokhoz megoldható lesz PC-n is (kivételt képeznek a Swizzle Copy motorokhoz tartozó funkciók).

Hirdetés

A jelölés szempontjából még nincs minden tisztázva, de a Microsoft nézőpontja szerint a DirectX 12-t az alapvető követelmények teljesítése esetén fel lehet tüntetni a termék dobozán. Ez persze nem biztos, hogy jó ötlet, mivel előfordulhat majd az is, hogy a rengeteg opcionálisan támogatható funkció közül egyes hardverek nem támogatják pont azt, ami valamely játék valamely effektjéhez kell, így ilyenkor az ominózus grafikai beállítás be sem kapcsolható, hiába díszeleg a dobozon a DirectX 12 felirat.

A Microsoft vélhetőleg a gyártók nyomása alá került, hiszen a fejlesztők egyrészt követelik az újításokat, miközben a felületet támogató cégek igen eltérő irányba fejlesztik a hardvereket, és nem mindenkinek jó az, hogy az API tudása extrém szintre emelkedjen. Egyszerűen képtelenség mindenkit tökéletesen kiszolgálni, így a redmondi óriáscég engedékeny volt. A fejlesztői igényeket kiszolgálják, a gyártóknak pedig engedik a DirectX 12 matrica felhelyezését akkor is, ha nem támogatja a hardver az API összes funkcióját. A tudatos vásárló úgyis utánanéz a hardverek képességeinek, az átlagos felhasználót pedig ez igazából nem is érdekli.

A fejlesztés szempontjából egyébként tervben van egy D3D_FEATURE_LEVEL_12_0 szint, ami információink szerint az Xbox One képességeihez lesz igazítva, de az említett konzol extrái amúgy is elérhetők a specifikus DirectX 11.x API-val. Bár ma még nehéz az egyes API-k összehasonlítása, azért a könnyebb átláthatóság érdekében egy táblázatot összeraktunk a DirectX 12, a DirectX 11.2 és a Mantle képességeiről:

Platform DirectX 11.2 DirectX 12 Mantle
Shader kódba beköthető egyedi textúrák száma 128 128 nincs korlátozva
Támogatott UAV-k száma 64 64 nincs korlátozva
Egyidejűleg írható és olvasható UAV formátumok single uint32 single uint32 bármelyik
Hardveres virtuális textúrázás opcionális opcionális van
Hardveres Tile Pool támogatás nincs nincs van
Leképzőparancsok újrahasznosítása Instancing 2.0 csomagok nincs
VRAM elérése közvetett optimalizált közvetlen
Aszinkron compute nincs opcionális van
Valós idejű shader újrafordítás van nincs nincs
Driver szerver szálak jellemző mennyisége sok kevés nincs
Processzorhasználat bekötéskor van optimalizált nincs
Monolitikus futószalag nincs nincs van
Többszálú leképzés támogatása limitált van van
Fejlett folyamatirányítás nincs nincs van

Fontos megjegyezni, hogy a DirectX 12 esetében még messze a megjelenés, így például csak a D3D_FEATURE_LEVEL_11_1 szintet elemeztük, mivel az ennél jobb elérésről még nincs konkrét információ, illetve a nem ismert részeket egyszerűen kihagytuk az összehasonlításból. Itt többek között gondolunk a több GPU-s támogatásra, amiről a Microsoft csak annyit mondott, hogy a fejlesztők az API-n belül megkapják a kontrollt az elérhető hardverek kihasználására, de a hogyan egyelőre még ismeretlen. Vélhetőleg a Mantle API-hoz hasonló működésre van kilátás, teljesen explicit hardvereléréssel, ezt azonban biztosan nem tudhatjuk.

3DMark DirectX 11-gyel és DirectX 12-vel. Látható a jóval kedvezőbb processzorhasználat. 3DMark DirectX 11-gyel és DirectX 12-vel. Látható a jóval kedvezőbb processzorhasználat.
3DMark DirectX 11-gyel és DirectX 12-vel. Látható a jóval kedvezőbb processzorhasználat. [+]

A DirectX 12 egyébként működik. A 3DMark egy nem publikus verziója már futott a rendszeren, ráadásul ugyanaz a teszt nagyjából 50%-kal gyorsabb volt, mint DirectX 11-ben ugyanazon a hardveren. A Forza Motorsport 5 PC-s verziója is feltűnt, ami azt hivatott bizonyítani, hogy a DirectX 12-vel működhet a játék PC-n is. Ez sajnos egyelőre csak demonstráció, mivel a Microsoft nem tervezi a program kiadását erre a platformra.

A megjelenés szempontjából sok adat még nincs. Az biztos, hogy az API már elérhető egy előzetes konstrukcióban, így a Microsoft várja a fejlesztők jelentkezését. A tervek között szerepel egy 2014 végére tervezett előzetes kiadás, amit bárki elérhet, így a rendszer kipróbálható élesben, ám ekkor még nem garantálják a hibátlan működést, de ez természetes. A megjelenés 2015 végére van ütemezve vélhetőleg a Windows 9-cel párhuzamosan, illetve a Microsoft kijelentette, hogy a startra mindenképp szeretnének DirectX 12-t használó játékot prezentálni. A fejlesztőkön ez valószínűleg nem fog múlni, hiszen ezzel az API-val egyetlen leképzővel támadhatják az Xbox One konzolt, a Windows PC-ket, illetve a Windows telefonokat és tableteket, ami a kiadások szempontjából nagyon kedvező konstrukció.

Abu85

Azóta történt

Előzmények