A DirectX 12 előtérbe helyezi az IGP-ket?

A DirectX 12-ről egyre több fontos részlet derül ki. Az API bejelentése óta körvonalazódott, hogy milyen hardver is kell a támogatásához, illetve alapvető reformok is kerültek a rendszerbe az Xbox One felépítéséhez igazodva. Az utóbbi linken szereplő több grafikus parancsprocesszor lehetősége nem csak az egyetlen érdekes döntés a Microsoft részéről, mivel mára kiderült, hogy a DirectX 12 a rendszermemória és a videomemória közötti memóriamásolásokat is úgymond újszerűen kezeli. Ezek kihagyhatatlan részei a modern videojáték-motoroknak, így a fejlesztők egy ideje már nagyon rágják a gyártóktól független API-k alkotóinak fülét, hogy jó lenne elérni, ne legyen minden memóriamásolás implicit, azaz közvetett, mivel a fejlesztőnek egyrészt nincs túl nagy kontrollja felette, másrészt biztonsági okokból le kell állítani a másolás idejére a grafikus futószalagot, ami végső soron magas késleltetéshez és sebességvesztéshez vezet, mindemellett romlik a grafikus vezérlő kihasználhatósága is.

Hirdetés

Erre többféle megoldási javaslat született már a fejlesztők részéről is. Az egyik használható opció az aszinkron memóriamásolás lehetősége, mely a Mantle API-ban már benne is van. Ennek segítségével a grafikus futószalag működésének leállítása nélkül is át lehet másolni a szükséges adatokat, mellyel tulajdonképpen az eddig alkalmazott megoldás problémái eltűnnek. Bár a másolás még így is megtörténik, de a fejlesztők teljes kontrollt kapnak, amivel gyakorlatilag biztosítható, hogy minden szükséges adat elérhető legyen még a leképzés megkezdése előtt. Ez a koncepció működik az integrált és a dedikált grafikus vezérlőkkel is, noha az integrált megoldások talán picit gyorsabban is végezhetnek a feladattal, de ettől hátrány még nem éri a dedikált hardvereket.

Nagyon érdekes, hogy a Microsoft nem a Mantle API aszinkron memóriamásolásra vonatkozó koncepcióját mentette át, de ez abból már sejthető volt, hogy a DirectX 12 továbbra sem kezeli külön logikai részként a grafikus vezérlőkben található a DMA motorokat. Korábban ez elszomorította az érintetteket, hiszen úgy tűnt, hogy az alapproblémát az új DirectX API nem oldja meg, de erről szó sincs, csupán a Microsoft egy másik ösvényt választott. A DirectX 12 esetében memóriamásolásra nem is lesz szükség, de ennek előfeltétele, hogy az adott integrált grafikus vezérlővel rendelkező processzor támogassa a megosztott virtuális memóriát. E funkció nélkül, vagyis tulajdonképpen mindegyik dedikált grafikus vezérlő esetében továbbra is a közvetett memóriamásolás él annak – első bekezdés végén említett – hátrányaival.

Egyre világosabban látszik, hogy a Microsoft a DirectX 12 kialakításánál nem igazán a jellemző PC-s hardverek, hanem az Xbox One képességeit vette alapul, és gyakorlatilag ehhez a konzolhoz írnak egy olyan grafikus API-t, ami tulajdonképpen PC-n is használható lesz. Ez önmagában nem gond, hiszen így is komoly előrelépésről beszélhetünk, de ha belegondolunk, akkor a Mantle API aszinkron memóriamásolása megoldja az első bekezdésben részletezett gondot lényegében bármilyen grafikus vezérlőn, míg a DirectX 12 a megoldást a megosztott virtuális memóriát támogató APU-kra korlátozza, háttérbe szorítva a dedikált grafikus vezérlőket.

Ez persze nem jelenti majd, hogy a leggyorsabb IGP lehagyja majd a leggyorsabb GPU-kat, de hasonló számítási kapacitás esetén az IGP olyan előnyre tesz szert, amit a dedikált GPU-k csak nagyobb nyers teljesítmény mellett képesek ellensúlyozni. Persze a Microsoft szempontjából amúgy is a mobil irányba való elmozdulás a lényeges, így tulajdonképpen normális, hogy az integrációnak kedveznek az új API működésével, ahogy az is érthető, hogy az Xbox One képességeihez igazítják a fejlesztést.

Azóta történt

Előzmények

Hirdetés