580 likes | 708 Views
A Windows Vista grafikus-, multimédia- és driver alrendszere. Czigléczky Gábor cziglecz@njszki.hu informatikatanár Neumann János Számítástechnikai SZKI. Miről lesz szó?. Grafikus alrendszer Aero és Desktop Window Manager Windows Vista Display Driver Model
E N D
A Windows Vista grafikus-, multimédia- és driver alrendszere Czigléczky Gábor cziglecz@njszki.hu informatikatanár Neumann János Számítástechnikai SZKI
Miről lesz szó? • Grafikus alrendszer • Aero és Desktop Window Manager • Windows Vista Display DriverModel • DirectX 9L és 10, Windows PresentationFoundation • A Windows Vista hardverkövetelményei • Driver alrendszer • A User Mode Driver Framework áttekintése • Multimédia és videó alrendszer • DirectX Video Acceleration 2.0 • HighDefinitionAudio és keverőpult
Grafikus alrendszer • Aero és Desktop Window Manager • Windows Vista Display Driver Model • DirectX 9L és 10, Windows PresentationFoundation • A Windows Vista hardverkövetelményei • Driver alrendszer • A User Mode Driver Framework áttekintése • Multimédia és videó alrendszer • DirectX Video Acceleration 2.0 • HighDefinitionAudio és keverőpult
Windows Aero • Mi is az Aero? • A Windows Vista új grafikus felületének neve • Authentic, Energetic, Reflective and Open(hiteles, energikus, tükröződő, és nyílt) • Három rétege: • Aero Basic • Aero Standard • AeroGlass
Az Aero rétegei UltimateEnterpriseBusinessHome Premium Fejlesztési kódnév Követelmény Home Basic Starter Windows Aero • Átlátszóságieffektek • Livepreview • Windows Flip • Windows Flip 3D • Animált ablakok WDDMgrafikus kártya AeroGlass Standard • Desktop Composition (simább újrarajzolás) • Megnövelt stabilitás • Szebb külső WDDMgrafikus kártya AeroExpress Basic • Újratervezett Start Menü • Új Intéző-ablakok • Új ikonok • Előnézet panel • Új varázslók, dialógusok Bármilyen grafikus kártya AeroTo Go Bármilyen grafikus kártya Windows Classic • Windows 2000 felület
Windows Aero • Aero Basic • A gyengébb teljesítményű gépeken fut (szoftveres) • Ezt látjuk akkor is, ha olyan alkalmazást futtatunk, amelyik nem AeroGlass-kompatibilis
Windows Aero • Aero Standard • Csak VistaHome Basic rendszeren érhető el • Hardveres támogatást (WDDM)igényel • Külsőre úgy néz ki, mint azAeroGlass, de hiányoznak agrafikus effektek (alacsonyabbigény)
Windows Aero • AeroGlass • A Windows Vista új, hardveres gyorsítással támogatott grafikus felülete • Transzparens ablakkeret: • Vizuális váltás az ablakok között (Windows Flip):
Windows Aero • AeroGlass • Élő miniatűr a Tálcán (LivePreview): • Vizuális váltás az ablakok között, de 3D-ben (Windows Flip3D)
Windows Aero • AeroGlass • Flip3D:
Windows Aero • AeroGlass • Mi teszi lehetővé mindezt? • Pusztán csak vizuális újításról van szó? • Nem, a háttérben az új ablakkezelő működik
DesktopWindow Manager • Miért van rá szükség? • Gyakori probléma a korábbi verziókban: az ablakok nem tudták időben újrarajzolni magukat
DesktopWindow Manager • Megoldás: WPF alkalmazás D3D alkalmazás GDI alkalmazás felület felület felület Desktop Window Manager
DesktopWindow Manager • A DWM legfontosabb jellemzői: • Az ablakok tartalma egy képernyőtől független pufferbe kerül • Ez a folyamat a desktopcomposition • A kirajzoláshoz a DirectX 9 shadereit használja • Minden ablak valójában egy textúra! • Ez teszi lehetővé az effektek használatát is • Nagyfelbontású megjelenítők támogatása (átméretezés) • Ez van a LivePreview, Flip és Flip3D mögött is
DesktopWindow Manager • A DWM háttere: • Teljesen új driver alrendszerre volt szükség • A hardveres gyorsítás miatt nem túl processzorigényes • DE: a grafikus kártyának is támogatnia kell!
Grafikus alrendszer • Aero és Desktop Window Manager • Windows Vista Display Driver Model • DirectX 9L és 10, Windows PresentationFoundation • A Windows Vista hardverkövetelményei • Driver alrendszer • A User Mode Driver Framework áttekintése • Multimédia és videó alrendszer • DirectX Video Acceleration 2.0 • HighDefinitionAudio és keverőpult
Windows Display DriverModel • Problémák a régebbi rendszerrel: • Egyszerre csak egy kliens (pl. XP-n) • GDI alkalmazás, videólejátszás, teljes képernyős játékok, CAD/CAM alkalmazások, stb. • Eközben a GPU-k folyamatosan fejlődtek, programozhatóvá váltak • A mindennapi alkalmazások során a GPU ereje „parlagon hever”, nem használjuk ki
Windows Display DriverModel • Mire van szüksége a DWM-nek? • „Végtelen sok memóriára” • Minden Windows ablak egy textúra • Rengeteg Windows ablak lehet nyitva egyszerre • Szabjuk meg, hogy mennyi lehet? • A DWM-nek együtt kell működnie az összes DirectX-alkalmazással • Videólejátszás, WPF-alkalmazások • Vistában még a Passziánsz is DirectX-alkalmazás!
Windows Display DriverModel • A három legfontosabb újítás a WDDM-ben • Virtuális memóriakezelés a videómemóriában • Többfeladatos működés (preemptív multitaszk) • A grafikus kártya driverének nagy része user módba kerül át a kernel mód helyett (később, a UMDF-nél) • Régi XP-s grafikus kártya driver használata esetén a WDDM újdonságai és az AeroGlass sem lesz elérhető
Windows Display DriverModel • Virtuális memóriakezelés a videómemóriában • Hasonlóképpen működik, mint a rendszermemória esetén • Ha elfogy a videómemória, a szokásos lapcserélési algoritmussal egy lap kikerül a rendszermemóriába • Ha mindkettő elfogy, akkor a rendszer a merevlemezhez fordul (szélsőséges eset) • A DWM szabadon tud magának „allokálni” memóriát
Windows Display DriverModel • Többfeladatos működés (multitaszk) • Eddig nem volt lehetőség a GPU folyamatának megszakítására • Lehetővé teszi több GPU-igényes program egyidejű futását (contextswitching) • Kétfajta mód: • Basic Scheduling • AdvancedScheduling
Windows Display DriverModel • Basic Scheduling • Egy shader feldolgozásának befejezéséig nincsen lehetőség a megszakításra • DirectX 9Ex szükséges hozzá (bővebben később) • AdvancedScheduling • A shader feldolgozása közben is lehetséges a megszakítás • DirectX 10 kell hozzá (bővebben később) • WDDM verziók: 1.0, 2.0, 2.1
Windows Display DriverModel • WDDM 1.0 • A jelenlegi GPU-kkal együttműködik • Alapszintű ütemezés (Basic Scheduling) • Az aktuális buffer tartalmát fel kell dolgozni contextswitch előtt • A Windows Vistában ez elérhető • Erőforrás-virtualizáció: • a régebbi API-k számára (DX 3..9) • a teljes kihasználáshoz DirectX9Ex és DirectX 10 kell
Windows Display DriverModel • WDDM 2.0 • Az újgenerációs (multitaszk-támogatású) GPU-k számára • Parancs (háromszög) utáni megszakítást támogat • A GPU-nak várakoznia kell laphiba esetén • A multitaszk jobb, mint a WDDM 1.0 esetén • A kliensnek még mindig együtt kell tudni működni
Windows Display DriverModel • WDDM 2.1 • Mindent tud, amit a WDDM 2.0 • Contextswitching a legalacsonyabb szinten is (pixelek szintjén) • Minden processznek külön lapozótábla • Így laphiba esetén már nem kell várakozni • Valóban preemptív többfeladatosság • A legnagyobb rugalmasságot biztosítja a GPU-nak
Grafikus alrendszer • Aero és Desktop Window Manager • Windows Vista Display Driver Model • DirectX 9L és 10, Windows PresentationFoundation • A Windows Vista hardverkövetelményei • Driver alrendszer • A User Mode Driver Framework áttekintése • Multimédia és videó alrendszer • DirectX Video Acceleration 2.0 • HighDefinitionAudio és keverőpult
DirectX és WDDM • Direct3D 9Ex • A Direct3D 9 továbbfejlesztése (korábbi nevén: DirectX 9L) • Ez a Direct3D 9 „WDDM-kompatibilis verziója” • A Windows Vistában lesz benne, a DWM használja • Képes együttműködni a WDDM ütemezőjével és memóriakezelőjével • Igyekszik kiküszöbölni a „devicelost” helyzeteket • Nem lesz elérhető Windows XP-re!
DirectX és WDDM • DirectX-támogatás a Vistán • DirectX 9 és régebbiek támogatása (legacysupport) • DirectX 9Ex a WDDM-hez • DirectX 10 • A DirectX 10 • DirectX új generációja Windows Vistára • Teljes mértékben illeszkedik a WDDM 2.0-hoz • Emiatt nem készül el Windows XP-re • Teljesen újratervezett, nem visszafelé kompatibilis
DirectX 10 • Legfontosabb újítások: • ShaderModel 4.0 támogatás • Nincsenek „capability bit”-ek • minden DX10-es kártyának ugyanazokat a funkciókat kell támogatnia • egységes programozási felületet nyújt • mostantól tudásban nem, csak képminőségben és sebességben térhetnek el az egyes kártyák • Várakozások (overhead) kiküszöbölése • Geometriai árnyalók bevezetése
DirectX 10 • Pixel Shader: • Képpontokkal foglalkozik • VertexShader: • Vertexekkel foglalkozik • GeometryShader: • Egyszerre foglalkozik az egész háromszöggel • Képes részekre bontani az objektumokat • Nagyobb hatékonyság, gyorsabb feldolgozás Geometry Shader
DirectX 10.1 (a jövő) • A DirectX 10 következő továbbfejlesztése • Kiegészíti a DirectX 10-et • Újdonságok: • WDDM 2.1 támogatás • alacsonyabb CPU-terhelés, teljes multitaszk • A pipeline és a shaderek további fejlesztése • Továbbfejlesztett élsimítás (anti-aliasing) • Nagyobb teljesítmény többmagos rendszereken
Windows PresentationFoundation • Korábbi kódnevén: Avalon • Egységes programozói felület • Az alkalmazások grafikus felületének fejlesztéséhez • A felhasználói felület és a programkód elválasztása • XML-alapú leírónyelvet támogat • Része a .NET Framework 3.0-nak (korábban WinFX) • A WPF-alkalmazások Windows XP-n és Windows Server 2003 rendszereken is futtathatóak • Kivéve, amelyek a Vista szolgáltatásait kihasználják
Windows PresentationFoundation • Vistában a WPF DirectX-et használ • A felhasználói felület elemei vektorgrafikák (lásd a shell átméretezhető ikonjait) • Videólejátszáshoz (DXVA 2.0, lásd később) • ClearType hardveres gyorsítása • Akár 3D grafika, videó a felhasználói felületen! • Különálló és webes alkalmazások • XAML: eXtensibleApplicationMarkupLanguage • Alkalmazásfejlesztés • Kiegészítő segítségével a VisualStudio 2005-höz • Felhasználói felület tervezése az ExpressionBlend alkalmazással
Windows PresentationFoundation • ExpressionBlendBeta 1 • Felhasználói felületek fejlesztése WPF alá • Korábbi neve: InteractiveDesigner • A Beta 1 letölthető (180-napos próbaverzió) • Rendszerkövetelmény: • Windows XP SP2 + .NET Framework 3.0 vagy Windows Vista • VisualStudio 2005 Express (Basic vagy C# nyelven) • Felület megtervezése a Blend-ben, kód hozzá VisualStudio-ban • Grafikai tervezés: Expression Design • Webes tervezés: Expression Web (megjelent) • Ezek az alkalmazások a 2007 nyarán megjelenő ExpressionStudio programcsomag részét képezik
Grafikus alrendszer • Aero és Desktop Window Manager • Windows Vista Display Driver Model • DirectX 9L és 10, Windows PresentationFoundation • A Windows Vista hardverkövetelményei • Driver alrendszer • A User Mode Driver Framework áttekintése • Multimédia és videó alrendszer • DirectX Video Acceleration 2.0 • HighDefinitionAudio és keverőpult
Milyen hardver kell mindehhez? • Memória • Legalább 512 Mbyte szükséges • Integrált grafika esetén: • 512 Mbyte-ból 64 Mbyte használható grafikus memóriának • 1 Gbyte-ból legfeljebb 256 Mbyte használható • Aero használatához • 512 Mbyte memória kell a rendszernek • Tehát integrált grafika esetén 1 Gbyte memória a minimum
Milyen hardver kell mindehhez? • Az Aero igényei • Legalább WDDM 1.0 kompatibilis driver (enélkül nincsen AeroGlass) • Az ATi és az nVidia rendelkeznek béta-állapotú WDDM-kompatibilisdriverekkel • DirectX9-es grafikus kártya Pixel Shader 2.0 hardveres támogatással • 32 bites színmélység támogatása • Legalább 1600 MB/s grafikus memóriasávszélesség
Milyen hardver kell mindehhez? • Az Aero igényei – grafikus memória • Egy monitor vagy laptop esetén • 1280*1024-nél alacsonyabb felbontás: 64 Mbyte • 1920*1200-as felbontásig: 128 Mbyte • felette: 256 Mbyte • Két monitor esetén • 128 Mbyte, ha mindkettő felbontása 1280*1024 alatt van • 256 Mbyte a nagyobb felbontásokhoz
Milyen hardver kell mindehhez? • Windows SystemAssessmentTool (WinSAT) • A telepítés végén fut le, megvizsgálja a gép képességeit • Ebből áll elő a Windows Experience Index érték • Az eredmények alapján a DWM be- vagy kikapcsolja az AeroGlass felületet • Windows VistaUpgradeAdvisor • Windows XP és Vista rendszerekhez • Megvizsgálja a gépet, alkalmas-e a Vista futtatására
Grafikus alrendszer • Aero és Desktop Window Manager • Windows Vista Display Driver Model • DirectX 9L és 10, Windows PresentationFoundation • A Windows Vista hardverkövetelményei • Driver alrendszer • A User Mode Driver Framework áttekintése • Multimédia és videó alrendszer • DirectX Video Acceleration 2.0 • HighDefinitionAudio és keverőpult
Miért NE kernel mód? • A kernel módú driverek gondokat okozhatnak • Ez adatvesztéshez, összeomláshoz vezethet • A kernel módú driverek veszélyesek • A rosszindulatú driver adatokhoz juthat, kihasználhatja a biztonsági réseket, „kaput nyithat” a külső támadásokhoz • Kernel módú drivert írni nehéz • A kernel-módú környezet nagyon komplex
Miért user mód? • A user módú driverek nem omlasztják össze a rendszert, nem okoznak adatvesztést • A user módú driver hatásköre korlátozott • úgy futnak, mint a szolgáltatások (service) • csak azokkal az adatokkal dolgozhatnak, amelyek őket érintik • Driverekuser módban: • nyomtatók, hangkártyák, képeszközök
Windows DriverFoundation (WDF) • A WDF a Windows DriverModel (WDM) utódja • KernelModeDriverFramework (KDMF) • közvetlen hardvereléréshez (DMA, megszakítások) • hozzáférés a kernel adataihoz • UserModeDriverFramework (UDMF) • buszok (USB, Firewire) • szoftveres driverek (filterek, virtuális portok) • Windows XP alatt is (WMP11-gyel települ) • Hibrid módú driverek (lásd grafikus kártya) • Aránylag könnyű átírni a jelenlegi WDM-drivereketUDMF-re
Az ATidriver felépítése XP alatt Csak az OpenGLdriver van user módban Minden kernel módban fut Hiba a driverbeninstabil rendszer!
Az ATidriver felépítése Vista alatt Minden user módban fut Csak a hardvert közvetlenül elérő rész fut kernel módban Megbízhatóbb, stabilabb rendszer Új elem:Microsoft DXVA
Grafikus alrendszer • Aero és Desktop Window Manager • Windows Vista Display Driver Model • DirectX 9L és 10, Windows PresentationFoundation • A Windows Vista hardverkövetelményei • Driver alrendszer • A User Mode Driver Framework áttekintése • Multimédia és videó alrendszer • DirectX Video Acceleration 2.0 • HighDefinitionAudio és keverőpult
Szoftvergyártók Microsoft Hardvergyártók DirectXVideoAcceleration (DXVA) • A DXVA célja: • Hardveres gyorsítást biztosít a videódekódoláshoz • DXVA 1.0: Alkalmazások Dekódolás Renderelés DXVA 1.0 GPU
Szoftvergyártók Microsoft Hardvergyártók DirectXVideoAcceleration (DXVA) • DXVA 2.0: Alkalmazások DXVA 2.0 DXVA 1.0 interfész Rögzítés Dekódolás Feldolgozás Jövőbeli feladat GPU
DirectXVideoAcceleration (DXVA) • DXVA 2.0 • Moduláris felépítés • Elkülönül a rendereléstől • Külön API a • rögzítéshez • dekódoláshoz • feldolgozáshoz • Az alkalmazások közvetlenül kommunikálhatnak a DXVA 2.0 réteggel