Mi kell a DirectX 12 támogatásához?

Egyszerűbb meghajtók jönnek

A DirectX 12 legjobb része, hogy a grafikus meghajtókat jelentősen egyszerűsíteni lehet, illetve kell is, hiszen a relatíve alacsony szintű elérést biztosító API-k egyik lényeges eleme, hogy átcsoportosítja a kontrollt a hardver felett. Eddig rengeteg tényezőért maga az API, illetve az adott grafikus driver felelt, ami nem feltétlenül rossz, hiszen az alkalmazás hibáit a meghajtóval korrigálni tudja, de ugyanakkor vannak olyan szituációk, amikor a rendszer lényegében sokszoros munkát végez, hiszen ugyanazt a feladatot megcsinálja a program motorja, az API és a driver is (például render state-ek szűrése), ami egyszerűen felesleges.

Hirdetés

A DirectX 12-vel az API lényegében egy nagyon vékony interfésszé változik, ami igazából nem tesz egyebet, mint biztosítja az alkalmazás és a driver közti kapcsolatot. Ezen belül is leginkább a shader programok futtatását oldja meg, és igazából más fontosabb dolgot nem is. A driver is nagyon vékony lesz, hiszen az API működésének egyszerűsítése kevesebb beépített rutint igényel. Viszont az adott program motorja lényegében teljesen átvesz olyan feladatokat, amelyeket eddig az API és a driver látott el, vagy legalábbis nagyrészt feleltek ezekért.

Ennek a koncepciónak az eredménye az lesz, hogy leginkább az alkalmazás határozza majd meg az adott hardveren a teljesítményt, hiszen a fejlesztőnek meg kell írnia azokat a funkcionális rutinokat, amelyek eddig az API-ban vagy a driverben voltak. Egy-egy új grafikus driverrel ugyan valamennyire kontrollálható a sebesség, de igazán lényeges gyorsulásokat nem lehet majd elérni.

A DirectX 11 és 12 terhelése. Utóbbi esetben a driver szerver szálak szinte nem is dolgoznak.
A DirectX 11 és 12 terhelése. Utóbbi esetben a driver szerverszálak szinte nem is dolgoznak. [+]

A DirectX 12 tehát a megírt kód hossza szempontjából több munkát igényel a fejlesztőktől, de a GDC-s vélemények alapján ezzel mindenki nagyon boldog. A végeredmény tekintetében ugyan rövidebb kódot lehet írni a DirectX 11-re, viszont annyira kiszámíthatatlan az API működése, hogy a végső verzió eléréséig ugyanazt többször is újraírják, tehát effektíve sokkal több időt fektettek a fejlesztésbe a kevesebb kódsor ellenére is.

A fentiek mellett a Microsoft szándékosan támogatja az új API-val az Xbox One-t, mivel a konzolhoz írt kód nagy része direkten átmásolható PC-re. Sőt, technikailag az egész újrahasznosítható, alig pár sor módosításával, de figyelembe kell venni, hogy PC-n nem csak GCN architektúra létezik, így a fejlesztés során optimalizálni kell a többi hardvergyártó megoldására is. Márpedig a fentiekből kiderülhetett, hogy leginkább a fejlesztőn múlik a teljesítmény, így a driver nem igazán tud segíteni, ha a program kódja nem elég jó az adott architektúrának.

Információink szerint a Microsoft tart majd előadást a DirectX 12-ről az április elején megrendezendő Build 2014 konferencián is, de azt nem tudni még, hogy milyen további részleteket árulnak el az API-ról.

Abu85

Azóta történt

Előzmények

Hirdetés