Hirdetés

Végleges a Microsoft WDDM 2.0-s felülete

A Windows 10 startja rendületlenül közelít, így nem csoda, hogy a rendszer főbb újításainak specifikációját kezdi lezárni a Microsoft. Ezúttal a WDDM 2.0 került sorra, ami az operációs rendszer legnagyobb újítása lesz, és a főbb extráiról az alábbi hírben már írtunk.

A véglegesítéssel kapcsolatban az egyik legfontosabb adat, hogy a WDDM 2.0 32 bites operációs rendszeren rendkívül korlátozott lesz. Többek között a virtuális címtartományt 32 bitre korlátozzák, emellett az erőforrásokra levetített virtuális címzést is alaposan visszafogják, hiszen nagyjából 2 GB-nyi terület környékén lesz meghúzva a címezhetőségre vonatkozó limit. Egészen pontosan 31 bites címzésről van szó.

A komoly korlátok miatt a gyártók korábban már minden stúdiónak azt ajánlották, hogy csak 64 bites programokat fejlesszenek, és a Microsoft ezt ugyan hivatalosan nem mondja ki, de többször is utaltak rá, hogy 32 bites operációs rendszeren az új WDDM egy félkarú óriás, így az igazi képességeit 64 bites módban mutatja meg. Ezek alapján nagy kérdés, hogy minek lesz egyáltalán 32 bites Windows 10, de ebbe nem érdemes belemenni, a lényeg, hogy mindenki a 64 bites Windows 10-et, vagy ezzel előtelepített gépeket keresse a jövőben.

A grafikus meghajtók szempontjából a gyártók a WDDM 2.0-t már egy ideje támogatják, és mára eljutottak oda, hogy az összes kötelező funkciót beépítették. A Microsoft ráadásul a véglegesítés után WHQL aláírást is kioszt, amelyre az NVIDIA gyorsan ráhajtott, így a GeForce-okhoz már ilyen meghajtó is van.

A gyártók többféleképpen támogatják a WDDM 2.0 képességeit. A 32 bites móddal nem érdemes foglalkozni, mert remélhetőleg alig lesz olyan felhasználó, aki ilyen Windows 10 verziót telepít, így a 64 bites opció szempontjából néztük át mit tudnak a meghajtók.

Az NVIDIA esetében a legegyszerűbb a helyzet. A vállalat támogatja a 64 bites, illetve az erőforrásonkénti 38 bites virtuális címzést, mindezt a GPUMMU modellen keresztül.

Az Intel esetében bonyolultabb a támogatás típusa. A 64 bites virtuális címzés itt is megoldott, és a Broadwell kódnevű lapka Gen8-as architektúráján erőforrásonként is megvan a 38 bites virtuális címzés, de a Haswell Gen7.5-ös architektúráján utóbbi 31 bitre, vagyis a korlátozott 32 bites mód szintjére van limitálva. Ezt egyébként direkten kezelni kell egy 64 bites alkalmazásnál, különben az adott, DirectX 12-ben írt a program összeomolhat a Haswell processzorokon. A címzési modell szempontjából a Haswell Gen7.5-ös architektúráján csak a GPUMMU érhető el, de a Broadwell kódnevű lapka Gen8-as alapjaival a GPUMMU mellett az IOMMU is működni fog.

Az AMD hardverein viszonylag egységes a támogatás. Az összes GCN architektúrára épülő Radeon támogatja a 64 bites, illetve az erőforrásonkénti 38 bites virtuális címzést. A GPUMMU címzési módot minden grafikus vezérlő kezeli, míg a Kaveri APU IGP-jével elérhető az IOMMU mód is.

A GPUMMU címzési mód mellett a programozó nézőpontjából mindegy, hogy a hardver önmagában, eszközszinten 64 vagy 4 kB-os lapméretekkel dolgozik, ugyanis a teljes rendszert egységesre tervezték. Alapvetően két laptábla lesz, az egyik a 4 kB-os, míg a másik a 64 kB-os lapoknak. Azokon az architektúrákon, amelyek a 4 kB-os lapméretet nem kezelik 16 darab 4 kB-os lap lesz egybefűzve, míg fordított esetben a 64 kB-os lapok lesznek 16 darab 4 kB-os szeletre bontva. Ebből a szempontból a kompatibilitás, illetve az egységes működés a teljes rendszeren keresztül garantált, függetlenül attól, hogy az adott hardver direkten mit támogat. IOMMU módban azonban csak a 4 kB-os lapméret kezelése engedélyezett.

A DirectX 12-t támogató PC-s hardverek szempontjából szinte mindegyik architektúra támogatja a 4 kB-os lapméretet. Egyedül az NVIDIA Fermi, Kepler és Maxwell architektúrája nem tartozik ide, mivel ezek a rendszerek 64 kB-os lapmérettel dolgoznak. Ugyan a programozónak erre tényleg nem kell figyelnie, de azt azért észben kell tartani, hogy a memóriaallokáció mindig a beállított lapméret többszöröse lesz, vagyis nagyon nem ajánlott minden allokációra 64 kB-os lapméretet választani, mivel az a memória nagymértékű pazarlásához vezet. Az majd a felhasználói módban futó grafikus meghajtó feladata lesz, hogy döntsön az allokáció esetében a lapméretről, és lényeges szempont, hogy amikor lehet a 4 kB-os opció legyen kiválasztva, hiszen egy komplex alkalmazásnál relatíve sok memóriaterületet lehet vele megspórolni. Az NVIDIA Fermi, Kepler és Maxwell architektúrája esetében erre az optimalizálásra nincs lehetőség, így ugyanaz a program az előbb említett architektúrákra épülő grafikus vezérlők videomemóriájából jóval többet fog használni.

A pazarlás ugyanakkor ezúttal viszonyítottnak minősül. A Microsoft és a gyártók tesztjeivel is annyira jól működik a WDDM 2.0, hogy a mai programok átlagos, VRAM-ra vonatkozó memóriahasználatát jellemzően a felére vagy harmadára, megfelelő optimalizálással pedig akár az ötödére vagy hatodára lehet mérsékelni. Persze a gyártók nem váltanak majd vissza a kártyákon kínált memóriakapacitás tekintetében, így nyilván megmaradnak a jellemzően 2 és 4 GB-os VGA-k, de itt az a fontos, hogy az új WDDM 2.0 GPUMMU címzési módja megszünteti a videomemória extrém mértékű pazarlását, amely az aktuális WDDM-re jellemző. Többek között ez a vezető oka annak, amiért a Frostbite videojáték-motor minimum igénye másfél éven belül a WDDM 2.0 lehet, mert nagyságrendekkel hatékonyabbá válik a fejlesztők számára a rendelkezésre álló memória kihasználása.

Azóta történt

Előzmények

Hirdetés