Szerző: Budai Péter

2005. május 8. 18:46

A Longhorn grafikus képességei

A Windows Hardware Engineering Conference (WinHEC) programjában számtalan előadás szerepelt, amik az új generációs Windows grafikus képességeit és megjelenítési rétegének felépítését mutatták be.

Nemrég ért véget a Microsoft WinHEC (Windows Hardware Engineering Conference) rendezvénye, ahol a vállalat bemutatta a Longhorn jelenlegi állapotát. A konferencia programjában számtalan előadás szerepelt, amik az új generációs Windows grafikus képességeit és megjelenítési rétegének felépítését mutatták be. Az ezen részt vevő érdeklődők voltak az elsők, akik megtapasztalhatták, milyenek is lesznek a következő évek grafikus eszközei.

Cikkünk alapjául a Longhorn SDK és az ExtremeTech írása szolgált, akik személyesen is részt tudtak venni a legfontosabb előadásokon április 27-én. Az új Windows grafikai képességeiről David Blythe, a Windows grafikai és játéktechnológia csoportjának vezető fejlesztője beszélt, amit Kam VedBrat, a Windows kliens fejlesztőrészlegének vezető programmenedzsere és Greg Schechter, a Windows kliens egyik tervezője egészített ki az új megjelenítési modell technikai részleteinek bemutatásával.

Új megjelenítési technikák

A Longhorn prezentációs rétege, az Avalon felöleli az operációs rendszer valamennyi megjelenítéssel kapcsolatos képességét, így a felhasználói felületet, a 3D alkalmazások és játékok támogatását, a grafikus drivereket, valamint azokat az új technológiákat, amik kifejezetten az új lehetőségeket használják ki további prezentációs megoldások számára, mint például a Metro, ami dokumentumok tárolására, printelésére és megosztására lesz alkalmas.

Az Avalon alapját a Windows Graphics Foundation (WGF) képezi; ez a réteg felelős a grafikus hardver vezérléséért, a driverek támogatásáért, valamint a korábbi megjelenítési technológiák, így a DirectX és a GDI funkcióinak biztosításáért. A Windows Graphics Foundation első változata, a WGF 1.0 a DirectX 9.0c-t használja az operációs rendszer szinte valamennyi grafikai teendőjének ellátásához, így az ablakok rajzolásához is. A Longhornban azonban ezzel egyidőben elérhető lesz a 3D grafikai motor legfrissebb verziója, amit akár Direct3D 10-nek is nevezhetnénk, de a Microsoft fejlesztői inkább a WGF 2.0 nevet adták neki.

Új drivermodell

A WGF egyik legnagyobb újdonsága a Longhorn Display Driver Model (LDDM), amivel a Microsoft szeretne változtatni a jelenlegi állapotokon, és eljutni arra a pontra, hogy a grafikuskártyák és a megjelenítési technológiák "gond nélkül működnek", legyen szó azok irodai, vagy éppen játékközpontú felhasználásáról. Amint az LDDM felveszi végleges alakját, már nem lesz többé szükség a rendszer újraindítására a grafikus kártya driverének lecserélésekor, és nem fognak gyökeresen eltérő képességekkel rendelkezni a különféle gyártók által kapható kártyák sem.


A grafikai alrendszer architektúrája

Az LDDM támogatás két lépésben érkezik: az első, alapszintű változat a jelenleg elérhető grafikus hardvereket fogja támogatni, amik a 2.0-s és a 3.0-s shader modellek használatára vannak felkészítve; ezzel szemben a fejlettebb LDDM támogatás a Longhorn megjelenése táján és jóval utána megjelenő grafikus kártyák újdonságainak kiaknázására lesz használható. Ezek az új kártyák a WGF 2.0 már közel végleges specifikációi szerint lesznek kialakítva, amit a hardvergyártók hamar megismerhettek, és nem lenne az sem meglepő, ha végül a WGF 2.0 kompatibilis kártyák még a Longhorn tényleges megjelenése előtt megvásárolhatóak lennének. A jelenlegi Windows XP driver modell (XPDM) továbbra is támogatást élvez majd a Longhornban, de fejlesztését a Microsoft nem kívánja folytatni.

[oldal:Virtualizáció, DirectX, driverek]

A Longhorn grafikai képességeinek újszerűségét a virtualizációs megoldások támogatása adja. A Windows XP-ig bezárólag a Microsoft operációs rendszerek mindegyikében a teljes képernyős 3D alkalmazások és játékok exkluzív hozzáférést követeltek meg a grafikuskártyához. A virtualizáció segítségével lehetővé válik a grafikus hardver idő alapú szeletelése, ami nagyban hasonlít a processzorok multi-taskingjához. A prezentációs rendszer kernelének ütemezője képes lesz párhuzamosan kezelni a különféle alkalmazások és ablakok 3D rajzolási és effektezési igényeit.

Multi-tasking grafikuskártyák

Az alapszintű LDDM driverek esetében ez a párhuzamosítás még nem lesz teljes körű, vagyis csak grafikai parancsok sorozatát fogják tudni az ütemezőhöz továbbítani, és a parancsok szekvenciájának további módosítására, leállítására nem lesz lehetőségük, további felügyelete kizárólag az ütemezőn fog múlni. A WGF 2.0 és a fejlettebb LDDM már arra is alkalmas lesz, hogy a grafikai parancssorozatokat finomabban is párhuzamosítani lehessen, lehetővé téve a kontextus váltást, valamint a rendszer és GPU erőforrások ideálisabb, személyre szabott elosztását. Ez a fejlődési folyamat szinte teljesen analóg a multi-taskingra alkalmas processzorok kialakulásával.

Ez a gyakorlatban azt jelenti majd, hogy a 3D felületek egy az egyben kikerülhetnek a grafikuskártyából a rendszer virtuális memóriájába, amennyiben erre szükség jelentkezik. Ez a Longhorn esetében létfontosságú, mivel ott minden ablak egyben egy 3D felület is, amit tetszőleges effektekkel képes az operációs rendszer ellátni, így ezáltal akár az ablakok áttetszősége, és térben elforgatása is lehetségessé válik.

A 3D alkalmazások ezentúl több memóriát is használhatnak, mint amennyit a grafikus kártya és a hardverek támogatnának, és kihasználhatják a Windows memóriarendszerének képességeit is. Ez egyben azt is jelenti, hogy a régebbi AGP-s grafikus kártyák esetében komoly teljesítményproblémákra számíthatunk a kártya és a rendszer közötti memória-sávszélesség limitációi miatt, ezért azok a kártyák nem lesznek ideálisak a Longhorn valamennyi grafikai újdonságának használatára. Ennek okai az AGP architektúra tervezésére vezethetőek vissza: senki nem gondolt arra, hogy teljesen kétirányú memóriaforgalomra kell felkészíteni ezeket a kártyákat, ezért az adatok kártyáról történő letöltésének sebessége meglehetősen rossznak mondható. A PCI Express kártyák azonban már fel vannak készítve erre, ezért az ilyen kártyával rendelkezők szinte biztosak lehetnek abban, hogy képesek lesznek a virtualizáció adta előnyök kihasználására.

A virtualizáció segítségével az is megoldottnak tekinthető, hogy két külön ablakban futó alkalmazás megossza egymással a megjelenítéshez szükséges adatokat, így például a textúrákat és a shader kódokat. Ez különösen az Avalon Desktop Window Manager esetében jelent előnyt, ami a Longhorn ablakainak megjelenítéséért és alacsony szintű kezeléséért felelős. A virtualizációs technológia nem csak a PCI Express csatolók meglétét követeli meg, hanem a nagy méretben rendelkezésre álló rendszermemóriát is. A 128, 256 és ma már néhol elérhető 512 MB memóriával rendelkező kártyák esetében nem volt annyira lényeges a grafikai megjelenítés szempontjából, hogy mekkora rendszermemóriával rendelkezünk, most azonban az új driver modellnek hála az alkalmazások a grafikus hardvertől függetlenül, korlátlan mennyiségű memóriát foglalhatnak le saját céljaikra.


Az ablakkezelő megbírkózik az Avalon, GDI, és DirectX alkalmazásokkal is

A kompatibilitás kérdései

Ebből is látszik, hogy már a WGF 1.0 is jóval túlmutat a DirectX 9.0c verzión. A WGF 1.0 továbbra is támogatja a korábbi megjelenítési technológiákat, így például a Direct3D-t. A DirectX 9 gyakorlatilag a WGF 1.0 egyik almoduljává válva folytatja életét, és elsődleges feladata a korábbi játékok támogatása lesz. A virtualzációs képességek nem lesznek elérhetőek a DirectX 9 API-kon keresztül. Ennek következtében az új játékok egy jelentős része várhatóan a WGF-re, és már nem a DirectX-re lesz fejlesztve.

A Longhornban megtalálható lesz az OpenGL 1.4 natív támogatása, az azon felüli verziók -- például a 2.0 -- a külső hardver és szoftvergyártók által készített driverek segítségével lesznek elérhetőek az Installable Client Drivers (ICD) modellen keresztül. Az OpenGL 1.4 natív drivere is a WGF 1.0 felhasználásával fog működni. Az LDDM támogatás és az optimális teljesítmény biztosítása miatt szükség lesz új ICD-kre az 1.4 feletti verziókhoz, azonban az XP-s OpenGL driverek is működni fognak, mivel a Longhorn továbbra is támogatja az XP-s drivereket, legfeljebb nem lesznek képesek valamennyi újdonság és teljesítmény-optimalizáció kihasználására.

[oldal:Eltérő hardverigények a négy különböző felülethez]

A Longhorn Desktop Window Manager (DWM) az Avalon és a WGF 1.0 technológiáira épül. Ez az a réteg, ami a képernyőn található ablakok megjelenítését és az általuk használt erőforrások elosztását végzi. A WGF segítségével olyan effektek lesznek elérhetőek, mint a transzparens ablakok egymásra helyezése, vagy például az ablakok elforgatása.

A Windows felhasználói felülete mindig is a GDI, és mindössze egyetlen képernyő-buffer segítségével került megjelenítésre, aminek egyik látványos következménye az ablakok mozgatásakor az ablak tartalmának és szélének fodrozódása. A Longhornban már minden ablakváltozás egy háttér-bufferben történik, ezzel megszűntetve a zavaró villódzásokat és apró megjelenítési hibákat, amik a gyakori változások hatására történtek. Ezek a háttérben módosuló ablakok textúraként kerülnek tovább a megjelenítési réteg további moduljai felé, ezért az ablakokra gyakorlatilag valamennyi hardveresen is elvégezhető textúra-művelet alkalmazható. A DWM egyes ablakok és alkalmazások esetében akár ki is kapcsolható, ha annak feladatait a kettős bufferkezelés inkább gátolná, mintsem segítené: például videók lejátszására nem biztos hogy hatékony lenne használata.

A felhasználói felület hatékonyabbá tétele

Azok az alkalmazások és játékok, amik teljes képernyős megjelenítést akarnak használni, továbbra is kaphatnak exkluzív elérést a grafikus hardverhez. Ilyen esetekben a Desktop Window Manager teljesen inaktívvá válik a kért monitoron. Ennek eredményeképpen, ha két monitorral rendelkezünk, az egyiken továbbra is láthatjuk az operációs rendszer saját felületét, és csak a másikat foglalja le a teljes képernyős alkalmazás.

A Longhorn felülete az új grafikai képességeket nem csak az ablakok szebbé tételére és mozgatásuk folyamatosabbá tételére használja, hanem növeli a felhasználó lehetőségeit is. Egyelőre meglehetősen hasznosnak tűnik a felhasználói felület azon képessége, hogy a nem használt ablakokat el lehet forgatni, és ezzel együtt le is lehet kicsinyíteni, ezáltal az ablak tartalma továbbra is nagyvonalakban felismerhető marad, mégsem veszi el a helyet a többi, éppen akkor fontosabbnak ítélt alkalmazás elől. A WinHEC-en bemutatott demók egy része -- például az ablakok fejlécének átlátszósága -- inkább apró szépítésnek minősülnek. Ezzel szemben az, hogy a képernyőn található szövegek teljesen olvashatóak maradtak nagyfelbontású televíziókon és monitorokon is sokkal fontosabb előrelépést jelent a mindennapi használatot tekintve.

A nagy DPI-vel rendelkező kijelzők támogatását "virtuális pixelek" segítségével oldották meg, amik felbontása 96 dpi. Ezek a virtuális pixelek az eredeti képernyőfelbontásra vannak leképezve, ezáltal az arányok és a színek a nagyobb képernyőkön is megfelelnek az eredeti elképzeléseknek.

Válasszunk felületet!

A Microsoft a Longhorn felhasználói felületét négy kiszerelésben teszi elérhetővé, melyek egyre látványosabb és kényelmesebb funkciókat tesznek lehetővé, azonban ezzel arányosan nő hardverigényük is. A klasszikus felület nagyon hasonló lesz a Windows 2000 és az XP kinézetéhez, támogatni fogja az XP skinjeit, és a Longhorn néhány újdonságát. A következő felület-típus a To Go névre hallgat, és nagyban hasonlítani fog a Longhorn végleges felületéhez, leszámítva néhány speciális effektet és grafikai megoldást, például semmilyen shaderes megoldás nem lesz elérhető a felhasználói felületen a To Go használatakor.


A válaszható felületek és képességeik

Az Aero Express támogatni fogja a grafikus hardver időszeletelését, az ablakok textúrázását, de hiányozni fognak belőle a leginkább erőforrás-igényes effektek, így például az áttetszőség és a shaderek közül néhány. A legfejlettebb felület az Aero Glass névre hallgat; ezzel az összes újdonság elérhető lesz. Mind a négy megjelenítési megoldás kihasználja a Longhorn Display Driver Modelt -- legalábbis azon képességeit, amikre az adott esetben szükség lehet.

Az Aerohoz ajánlott egy legalább DirectX 9.0c-t hardveresen támogató grafikus kártya, legalább 64 MB, de ajánlottan 128 MB memóriával szerelve. Az Aero Glass valamennyi effektjének, és a nagyfelbontású megjelenítők támogatásához 256 MB-os kártyákat követel meg az operációs rendszer. Az Aero Glass másodperceként 2 GB textúraátviteli sávszélességet követel meg, ami megfelel két HDTV adás átviteléhez szükséges adatmennyiséggel, ha másodpercenként 60 képkockát küldünk át. Az Aero Glass ablakok közel 150 háromszögből épülnek fel, ezért például 100 ablak együttes megjelenítése esetén 1,5 millió háromszög/másodperces geometriai feldolgozási sebességre lesz szükség.

[oldal:A grafikuskártya-gyártók már csak teljesítményben versenyezhetnek]

A Direct 3D új generációja a Windows Graphics Foundation 2.0 képében jelenik meg. Ez a technológia már elérhető lesz a Longhorn megjelenésekor, egyedül az a kérdés, hogy lesz-e olyan hardver, ami képes lesz kihasználni.

A felhasználók, játékosok és fejlesztők szemszögéből előnyös változás, hogy az elsődleges célok egyike a hardverek egységes működésének megteremtése. Az elmúlt években annyi különbség volt például az ATI és az Nvidia kártyák képminősége, élsimítási megoldásaik és shader-támogatásuk terén, hogy az átlagos otthoni felhasználó nem mindig tudta mire vélni, miért néz ki ugyanaz a játék másképp két különböző gépen. Vagy gondoljunk csak a színmélység körüli nézeteltérésekre, ahol az ATI sokáig a 24 bitet favorizálta, ellentétben az Nvidia 16/32 bites megoldásaival. A WGF 2.0 sokkal szorosabban megszabja, minek kell megfelelnie az őt támogató kártyáknak és a gyártóknak is egyben.

Egységesítési törekvések

A WGF 2.0-hoz szükséges megjelenítési technológiákat valamennyi új kártyának támogatnia kell, és az, hogy technikailag miben különbözik két játék, igazából csak a leprogramozott shadereken fog múlni, nem a preferált grafikus kártyákon. A cél, hogy a művészek és programozók által létrehozott képek, textúrák és mozgások minden hardveren pontosan ugyanúgy nézzenek ki. Ez a felhasználókat tekintve nagy lépés előre.

A WGF 2.0-t támogató kártyák képesek lesznek arra is, hogy a GPU számítások teljesen kikerüljék a számítógép processzorát. Jelenleg nagy gondot okoz a grafikuskártya-driverek által okozott teljesítménycsökkenés a GPU sorozatos elérése közben. A WGF 2.0-ban a hardver megkapja a grafikai utasításokat, és amíg azok végre nem hajtódnak, a drivereknek semmi dolguk nem lesz, nem fogják feleslegesen lassítani a feldolgozást.

Újdonságot jelent még a geometriai shaderek megjelenése, ami a 3D adatfeldolgozás folyamatát egy újabb lépcsőfokkal egészíti ki. A programozható geometriai shaderek egy teljes grafikai primitíven képesek transzformációkat végezni, például képes egyszerre megváltoztatni vagy feldolgozni egy háromszög mindhárom csúcsának koordinátáit. Ezzel akár olyan effektek is könnyedén készíthetőek, mint például az extruded edges, valamint a cube map használata, vagy egyszerre több shadow map renderelése is lehetővé válik.


A Windows Graphics Foundation 2.0 felépítése

A képen is látható WGF 2.0 diagramja várhatóan nem csak a Longhorn által támogatott grafikai modellt mutatja be, hanem azt is, milyenek lesznek az elkövetkező évek grafikuskártyái.

Hogyan tud egy operációs rendszer mindenkinek megfelelni?

Jó döntésnek látszik, hogy a Microsoft egyszerre négy grafikus felületet is támogat, mivel így egyetlen új operációs rendszerrel ki tudja szolgálni az otthoni és irodai felhasználókat, a játékosokat, és a különféle hardverekkel és pénzügyi lehetőségekkel rendelkező embereket is. Ezzel együtt ahhoz, hogy látványosan megváltozzon az operációs rendszer, nem kell majd egyszerre új hardver és egy még újabb Windowst vásárolni a Longhorn után, hanem az operációs rendszer képes lesz az új hardverkörnyezetnek megfelelő képességeket és effekteket biztosítani, növelve a termék életciklusát, és egyben függetlenítve a hardverek fejlődésének ütemétől.

A Longhorn fejlesztésének kezdetén a Microsoft még úgy gondolta, hogy a hardverek a jelenleginél lényegesen nagyobb tempóval fognak fejlődni, és vélhetően az Aerót a Longhorn alapszintű verzióiba is beletették volna. Azonban a jelenlegi helyzetet tekintve ideális megoldást választottak, amivel mindenki a lehető legjobban jár, mivel a döntést nem a Microsoft, hanem minden egyes felhasználó maga hozhatja meg: kevesebb hardverköltséget, vagy szebb felületet szeretne.

A négy prezentációs változat várhatóan a nyár elején érkező beta 1-ben lesz elsőként kipróbálható; ekkor lehet felmérni, milyen tényleges hardverigénye lesz a rendszernek a különféle beállítások alkalmazásával. A WinHEC-en kiadott 5048-as Longhorn előzetes teszt-build még nem tartalmazza az Aerot, így abból még nem lehet kiindulni.

Ami még további érdekesség lesz, az az Xbox "Xenon", valószínűleg Xbox 360 névre keresztelt konzol megjelenése. Az előzetes hírek szerint az új Xbox és a PC a Longhorn megjelenése után képes lesz egymás perifériáit használni, és 2006-tól egységes játékfejlesztői keretrendszer, a Visual Studio XNA segítségével a készített játékok mindkét platformon módosítások nélkül futni fognak. Ez vélhetően azt is jelenti, hogy az Xbox is követni fogja a WGF 2.0-val felvázolt utat. Ennél többet legfeljebb a konzol május 12-i bejelentése után fogunk tudni.

Véleménye van?

Nagyon széles az a skála, amin az állásinterjú visszajelzések tartalmi minősége mozog: túl rövid, túl hosszú, semmitmondó, értelmetlen vagy semmi. A friss heti kraftie hírlevélben ezt jártuk körül. Ha tetszett a cikk, iratkozz fel, és minden héten elküldjük emailben a legfrissebbet!

a címlapról