Komoly kutatási alap a DirectX 12-ben a heterogén multiadapter

Még a hónap elején írtunk arról, hogy a DirectX 12 sok lehetőséget kínál a több GPU kihasználására. Akkor a Microsoft az Epic Games példáján mutatta be az úgynevezett heterogén multiadapter lehetőséget, de már a Build konferencián is elmondták, hogy az utófeldolgozás IGP-re való átültetése csak egy egyszerű lehetőség a sok közül. A többi lehetőségről azonban nem eset szó, így utánajártunk a témának.

Hirdetés

A gyártók közül az AMD és az Intel leginkább azt mondta, hogy a lehetőségekről a fejlesztőket kérdezzük, mivel a DirectX 12 a gyártótól inkább elveszi a kontrollt, de alapvetően azt látja mindkét cég, hogy a heterogén multiadapter egy komoly kutatási alap a partnereiknél. Ez persze nem meglepetés, mivel a fejlesztők is tudják, hogy IGP-vel rendelkező processzorokat a felhasználók évek óta vásárolhatnak, ráadásul a termékskálákat tekintve arányaiban ezek az egységek az olcsóbb megoldások, így a vásárlók többsége akkor is ezekre ruház be, ha mondjuk az IGP-re nincs feltétlenül szüksége.

A fejlesztők egyöntetű véleménye szerint az integrált grafikus vezérlő kihasználása a dedikált grafikus vezérlők mellett az elsődleges prioritás a DirectX 12-vel, mivel már ki van épülve a célpiac. Egy készülő DirectX 12-es játéknál ma sokkal fontosabb a heterogén multiadapter lehetőségének kihasználása, mint a hagyományosnak tekinthető több GPU-s modelleké. Utóbbi persze nincs háttérbe helyezve, de az IGP és a dedikált GPU működésének összekötése jóval nagyobb felhasználóbázist érint.

Az Microsoft és az Epic Games által taglalt utófeldolgozást mint lehetőséget nem túl nagy meglepetésre szinte mindenki felhozta, de megtudtuk, hogy sokkal célszerűbb lehetőségek is vannak ennél. Úgy tudjuk, hogy az egyik legfontosabb kutatási terület a kivágási rendszerek reformja. Az occlusion culling a DirectX 12-ben lényeges előrelépésben részesül. Eddig PC-n ezt szoftveres formában oldották meg a játékok, de mostantól hatékonyan is megvalósítható a grafikus vezérlőn is. Utóbbi lehet dedikált, akkor is működik a rendszer, de megcsinálhatja a feladatot például az IGP, és annak az eredménye is mehet a dedikált GPU-ba. A végeredmény szempontjából mindegy, viszont az IGP egy szabad erőforrás. Ez a koncepció alapvetően gyenge IGP-ken is nagyon hatékony, és végtelenül egyszerű implementálni.

Sokkal izgalmasabb terület a view-frustum culling, amely ma a processzoron valósul meg. A DirectX 12 erre szigorúan önmagában nem jó, de a WDDM 2.0 lehetőséget ad IOMMU címzésre. Utóbbi egy amolyan titkos fegyver, mert nagyon szorosan odafűzi az IGP-t a processzor mellé. Ezzel az előbbi részegység rendkívül hatékonyan meg tudja oldani az említett eljárást, és az eredményét direkten a rendszermemóriába tudja visszaírni. Előnyként említhető a jelentős gyorsulás ráadásul úgy, hogy közben a fejlesztő processzoridőt szabadít fel az alkalmazásnak. Hátrány azonban, hogy csak Windows 10 alatt működőképes, hiszen kötelező a WDDM 2.0, továbbá az IOMMU címzést sem támogatja minden processzor, így a működéséhez AMD Kaveri és Godavari, illetve Intel Broadwell lapkák kellenek (vagy az érkező AMD Carrizo és Intel Skylake megoldások). A fejlesztők szerint jó, hogy a játékosok többsége úgyis ilyen lapkákat fog vásárolni a jövőben a hagyományos processzorok helyett, tehát a célpiac biztosan kiépül.

A WDDM 2.0 a fenti újítás miatt komoly figyelmet kap, de más területekre is használható. A C++ AMP ugyanúgy profitál az IOMMU címzési modellből, mint a DirectX 12, tehát olyan dolgokon lehet elgondolkodni, amelyek eddig nem voltak lehetségesek. A fejlesztők szerint az IGP-k IOMMU címzéssel kiemelten alkalmasak rendezési és bármilyen kikódolásra vonatkozó munkákra.

A rendezési munkákat, ma kivétel nélkül a processzor végzi, de valójában tökéletesen alkalmas erre az IGP, és egységes virtuális memória mellett az adatot ki tudja olvasni a processzor memóriájából, majd az eredményt a megfelelő helyre vissza is írja. Az előny itt is gyorsulás, miközben felszabadult némi processzoridő. A tartalomkikódolás szintén egy olyan terület, amelyre manapság sűrűn építenek a játékok. A fejlesztők szerint számos kódolásra vonatkozó algoritmust azért nem tudnak alkalmazni, mert nincs elég szabad processzoridő rá. Ezen persze a DirectX 12 használata már önmagában javít, de innen nagyon egyszerű lépés teljesen átadni a munkát az IGP-nek. A WDDM 2.0-val még az adatok adattárolóról való kiolvasását is meg tudja oldani az IGP, vagyis nincs különösebb ok arra vonatkozóan, hogy miért ne lenne jó ez a PC-s játékosoknak.

Megtudtuk azt is, hogy viszonylag sok fejlesztő szeretné, ha a Windows 10-re mindenki átváltana és az elsődleges ok, amiért ez fontos lenne az az IOMMU címzési mód elérhetősége. Utóbbi nem kapcsolódik szorosan a grafikához, de olyan dolgokra fogható be az IGP, amelyre korábban nem volt lehetőség. Ezzel egyetemben a megnyert temérdek számítási kapacitás jóval nagyobb játékterek kialakítására adna lehetőséget, mindezt töltőképernyők nélkül. Utóbbi azért lenne fontos, mert az Xbox One és a PlayStation 4 konzolokon mindenképp erre megy majd az ipar, és IOMMU címzési mód nélkül a PC-s portnál a játékteret túlságosan sok töltőképernyő tarkítaná, amit senki sem szeretne. Ebből a szempontból a Microsoft okkal bízhat a Windows 10 sikerében a játékosok körében.

Azóta történt

Előzmények

Hirdetés