2010. július 9., péntek

Grafikus API-k a Vistában


OpenGL
Eredetileg a Microsoft saját OpenGL implementációt készített volna. Végül arra jutottak, hogy a támogatás és ISV szempontból sem lenne értelme, így a hardver gyártókra bízták a saját verziójuk elkészítését. Ha nincs IHV meghajtó telepítve, a Vista visszatér a gyárilag csomagolt verzióra. Chuck Walbourn szoftver mérnök cikke szerint, melyet a Microsoft Developer Network-ön publikált, 3 dolgot tehet a Vista az OpenGL gyorsítással kapcsolatban.
#1 MS OpenGL Szoftveres Renderelés (Ez OpenGL 1.1)
"Ha nincs ICD telepítve, a rendszer visszaáll az OpenGl v1.1 szoftveres rétegére."
#2 Gyártó OpenGL meghajtója
"A Windows Vista hasonló támogatást nyújt az OpenGL-hez, mint a Windows XP, vagyis a videó kártya gyártók elkészíthetik a telepíthető kliens meghajtóikat (ICD), melyek hardveres gyorsítást
kínálnak; a Vista teljes támogatásához az újabb verziójú ICD-kre lesz szükség."
#3 Vista veszi a régebbi API-t és becsomagolja D3D-be
"A Windows Vista grafikus rendszerét úgy tervezték, hogy a hardverek és felhasználási esetek többségét támogassa, ezzel új technoplógiákat lehet alkalmazni a régiek megtartása mellett. A már
létező grafikus interfészek, mint a GDI, GDI+, és a Direct3D régebbi verziói továbbra is működnek a Vistán, de ahol lehet, ott a rendszeren belül átalakítják őket. Ez azt jelenti, hogy a legtöbb Windowsos alkalmazás továbbra is működőképes marad. A Windows Vista továbbra is támogatja a Windows XP által használt Direct3D és DirectDraw interfészeket, egészen a DirectX 3-as verziójáig (kivéve a Direct3D Retained Mode-ot, amit kivettek belőle). Ugyanúgy, mint a Windows
XP Professional x64 Edition-nél, a 64-bites natív alkalmazások a Windows Vistán limitálva vannak a Direct3D9-re, DirectDraw7-re, vagy az újabb interfészek használatára. A nagy teljesítményű alkalmazásoknak érdemes Direct3D 9-t vagy újabbat használni, hogy a hardver teljes képességeit ki tudják használni."
Volt alkalmam beszélni Barthold Lictenbelttel, aki az OpenGL architektúra felügyeleti testületének elnöke. Azt mondta, hogyha nincs ICD meghajtó telepítve, akkor a D3D-be csomagolás fog működni. Ez azt jelenti, hogy az OpenGL 1.4 szoftveres fog futni D3D-ben. A legjobb implementáció pedig a hardver gyártó OpenGL meghajtóját fogja használni. Megkérdeztem Barthold véleményét az OpenGl jövőjéről a Vistán és más fejlesztésekről. Míg a beszélgetés veleje nem tartozik ebbe a cikkbe, leszögezte, hogy az openGL-nek igenis van keresnivalója a Vistán és azt jósolta, hogy az openGL-nek nagyobb lesz a teljesítménye, mint a
most érkező új D3D szabványnak. Mivel az OpenGL 14 éves, mondta Lichtenbelt, az idei évben két új specifikáció várható.
"Kipofozzuk az OpenGL-t," mondta, hogy a fejlesztők "gyorsabban írhassanak stabilabb
alkalmazásokat, kevesebbe hiba legyen, ami nagyon nagy haszon."
"[Az ARB] nagyon agresszív az OpenGL idei kiadásával kapcsolatban," mondta Lichtenbelt.
A Longs Peak lesz az első kiadás. Ez a specifikáció a legtöbb létező hardver számára jó lesz. A következő specifikáció a Mt. Evans lesz (mindkettő Coloradóban található hegységekről nevezték el), ami már támogatja a geometriai shadereket és a D3D10-es hardverek egyéb újdonságait is.

Nincsenek megjegyzések: