Co nás čeká s příchodem Windows Graphics Foundation?
15.7.2005, Pavel Kovač, článek
Kdo se zajímá o problematiku 3D grafických karet jistě alespoň tuší, jaké velké změny přinese Windows Graphics Foundation (neboli WGF) do uživatelského rozhraní systému. Možná již ale netuší, že WGF nejsou jen čistým následovníkem DirectX, ale jde o takovou malou revoluci v grafickém systému. Pojďme se podívat blížeji na tuto technologii, která nás příští rok čeká.
Zanechme za sebou povídání o tom, jak bude operační systém Longhorn vypadat, jaké úžasné efekty nás čekají a podíváme se rovnou na WGF jako na samostatnou technologii. V prvé řadě vás chci upozornit, že WGF přijdou hned ve dvou verzích. První bude WGF 1.0, která bude následovníkem DirectX 9.0c a prakticky s ním bude kompatibilní. Další verzí bude WGF 2.0, která bude potřebná pro chod nového API Windows Longhorn. V praxi to znamená, že kdo bude používat klasické API známé z Windows XP, tak mu bude bohatě stačit WGF 1.0, ale zároveň bude moct využívat všech výhod, která WGF přinášejí.
Revoluce, nebo nutná evoluce?
Co tedy WGF přinášejí tak revolučního? První a velmi důležitou vlastností je tzv. Longhorn Display Driver Model (dále jen LDDM). Již ze samotného názvu vyplývá o co se ve své podstatě jedná. Jde o přepracované jádro samotné správy ovladačů grafických karet. V době Windows XP a starších je nutné při přeinstalování ovladačů grafické karty restartovat celý systém. Tato otravná vlastnost bude díky LDDM odstraněna. Proč tomu tak je? Základní myšlenka je ta, že není třeba restartovat celé jádro systému, ale jen jádro grafického podsystému. Zcela jednoduché, že? Uživatelé systému Linux jistě nyní dostávají křeč do obličejových svalů, protože Linux tuto vlastnost má od svého počátku. Inu my co pracujeme v systému Windows jsme se dočkali teprve nyní, ale hlavní je, že jsme se dočkali.
LDDM se narodí také jako dvojčata. První bude tzv. „basic“ (základní) a bude podporovat současné grafické karty se Shader Modelem 2.0 a 3.0. Tato verze je schopna pracovat jak pod WGF 1.0, tak pod druhou verzí (2.0). Druhá verze LDDM „advanced“ (rozšířená) bude schopná běžet jen pod WGF 2.0. Nutno podotknout, že podporu rozšířeného LDDM nemá zatím žádná grafická karta, odhady kdy se takovéto karty objeví na trhu se velmi liší od půl roku až po rok. Počkejme si tedy ještě nějaký ten čas a budeme vědět více. A v čem bude LDDM advanced odlišná? Hlavní bude naprosté oddělení od ovladačů grafické karty (stejně jako tomu je u OpenGL) a hlavní komunikace bude probíhat přímou cestou z Kernelu do WGF 2.0 potažmo do LDDM advanced. Otázka je, jak se Microsoftu povede samotný Kernel a ona přímá komunikace. Jak to všechno vypadá vidíte na obrázku.
Jistě vás napadne, že pro takovýto chod je nutné mít přizpůsobené ovladače. Je tomu tak, avšak nemusíme se ničeho bát, protože Longhorn ve svém počátku budou podporovat ještě klasický Display Driver Model z Windows XP (časem, ale bude prý tato možnost odstraněna). Z toho je patrné, že Microsoft chce dát co nejdelší čas vývojářům ovladačů a vyhnout se tak případným problémům se systémem samotným. Inu jak se říká: „Opatrnosti není nikdy dost.“
Multitasking ve 3D
Další důležitou vlastností LDDM je „virtualization“. V současné době je grafická karta používána výhradně když běží 3D aplikace, „virtualization“ dovoluje aplikacím ve své podstatě takový multitasking. Základní verze LDDM bude pracovat na principu plánování dávek (stejně jako tomu je u dávkového souboru .bat). Její problém tkví v tom, že jakmile je jedna dávka spuštěna, nelze ji přerušit a právě pro to tu je rozšířená verze LDDM, kde tato dávka může být roztříděna na kontextové úrovni. Toto třídění je pak schopna měnit jak grafická karta samotná, tak i obslužný software. Pokud jste tomu neporozuměli, tak se to pokusím vysvětlit na příkladě.
Windows Longhorn jsou postaveny na tom, že každé okno je složené z polygonů ve 3D s nanesenými texturami. Dnešní grafické karty nejsou schopny pojmout tak velké množství informací a tak to řeší elegantně tím, že jakákoli 3D informace může být uložena do stránkovací oblasti paměti a tam ponechána na určitou dobu svému osudu. Z této vlastnosti je patrné velké zatížení sběrnice. Právě proto se nedoporučuje provozovat Avalon (tak se nazývá grafický systém Longhornů) na sběrnici AGP, která je schopná komunikace „jen“ 2,1GB/s. PCI-Express 16x má 4GB/s což není ve své podstatě tak velký nárůst, ale je zde jeden háček. Ony 4GB/s jsou každým směrem, takže ve výsledku (za ideálních podmínek) může probíhat komunikace až 8GB/s což je oproti 2,1GB/s už velmi znát. Této vlastnosti hojně využívá TurboCache a HyperMemory od ATI respektive nVidie.
Windows Graphics Foundation 2.0
Doteď jsme mluvili o WGF jako takovém a popsali jsme si funkce, které jsou společné oběma verzím. Nyní se podíváme na výhody druhé verze. Ta přináší jednu Novinku (s velkým „N“). Tou je daleko přísnější udání specifikací pro render, které zamezí rozdílu mezi jednotlivými kartami. Jako příklad z dnešních nesourodostí u karet je např. přesnost FP (plovoucí desetinné čárky) – u karet ATi 24bit a u nVidia 16 popř. 32bit. Nebo rozdílnost v kvalitě Anisotropního filtrování. S WGF 2.0 by měly scény vypadat na všech kartách naprosto stejně. To je jistě velmi potěšující, v dnešní době je situace naprosto tragická. Je to jako kdybychom dali renderovat jednu scénu na procesorech AMD a tu stejnou na Intel a pokaždé bychom dostali odlišný výsledek. V tomto by se měla grafická jádra velmi přiblížit procesorům. Tuto vlastnost považují za jednu z nejdůležitějších ze všech vlastností, co WGF 2.0 přináší. Zaslouží si jistě respekt. Stačí jen doufat, že se vše povede, jak Microsoft slibuje.
WGF 2.0 dále dovoluje běhu 3D aplikace bez velkého zatížení procesoru. Důsledkem je fakt, že driver již nestojí takříkajíc v cestě a většinu času jen „čeká“ na nové informace pro zpracování.
Uživatelé profesionálních grafických aplikací jako je Maya, Softimage|XSI jistě zajímá, jak je to s OpenGL. Dnes velmi často používané OpenGL 1.4 se stane součástí WGF a zároveň se objeví podpora OpenGL 2.0. Inu situace je to zajímavá a jistě se máme na co těšit.
Desktop Windows Manager
Nový Desktop Windows Manager (dále jen DWM) přicházející s Windows Longhorn je technologicky zcela jinde než dnešní desktop manager. Jeho princip vychází z mapování textur na polygony (stejně jako tomu je u her). Pokud si myslíte, že jedno okno je jeden polygon, tak vás musím zklamat. Každé okno se skládá z různých částí – tlačítka, samotné okno aplikace atd., takže ve výsledku má okno okolo 150 polygonů respektive trojúhelníků. Pokud si vezmete, kolik zvládá průměrná grafická karta polygonů při alespoň 30fps, tak dojdete k číslu 100 oken na celou plochu monitoru což je situace dosti nereálná. V tomto ohledu se tedy není čeho bát.
Další velmi důležitou vlastností DWM je skutečnost, že aplikace využívající 3D prostředí (jako například hra) může převzít kontrolu nad celou grafickou kartou a pozastavit běh WDM na daném monitoru. Pokud však máte dva monitory a jeden chcete využít na hraní her a druhý na sledování ICQ či filmu, tak vám nic nebrání. Ano i tento „hybridní“ chod je možný u nového WDM.
Dnešní desktop manager je založen na jedno-bufetovém režimu.
Prozatím jsme si povídali převážně o samých pozitivech. Jsou zde ale také i negativní dopady. Jedním z hlavních je, že WDM bude potřebovat pro svůj běh velké množství systémové paměti. Pokud si uvědomíme, jak systém pracuje (jen připomenu, že každé okno na sobě nese texturu, která je přenášena do stránkovací oblasti paměti), tak si každý jistě dokáže představit, kolik paměti je nutné pro uložení tak velkého množství textur ve vysokém rozlišení. 1GB se stane optimálním pro běh samotného systému, takže 2GB pro hladký běh i s náročnějšími aplikacemi bude nutností.
Finální zamyšlení
Jde opravdu o revoluci v zobrazování oken či přístupu systému k ovladačům? Odpověď by nejspíš byla dvojí. V případě zobrazování se to za revoluci považovat dá. Nový systém přinese nečekané množství možností jak pro grafickou stránku systému, tak pro ovládání samotné. Je možné, že ovládání Longhornů nebude úplně podle vašich představ, v takovém případě se jistě velmi brzo objeví různé modifikace. Právě díky tomu, jak je koncipován celý WDM, je zásah programů z třetích stran velmi pravděpodobné.
V případě správy ovladačů a grafického jádra systému jde spíše o nutnou evoluci. Oddělení grafického jádra od systému je opravdu nutné pro udržení stability systému. Striktnější specifikace pro tender jsou již také nevyhnutelné. Vzpomeňme třeba na „cheatování“ nVidie v 3DMarku03, nebo na to jak velmi odlišný tender měla XGI Volari. Takováto situace by již neměla nikdy nastat!
Revoluce, nebo nutná evoluce?
Co tedy WGF přinášejí tak revolučního? První a velmi důležitou vlastností je tzv. Longhorn Display Driver Model (dále jen LDDM). Již ze samotného názvu vyplývá o co se ve své podstatě jedná. Jde o přepracované jádro samotné správy ovladačů grafických karet. V době Windows XP a starších je nutné při přeinstalování ovladačů grafické karty restartovat celý systém. Tato otravná vlastnost bude díky LDDM odstraněna. Proč tomu tak je? Základní myšlenka je ta, že není třeba restartovat celé jádro systému, ale jen jádro grafického podsystému. Zcela jednoduché, že? Uživatelé systému Linux jistě nyní dostávají křeč do obličejových svalů, protože Linux tuto vlastnost má od svého počátku. Inu my co pracujeme v systému Windows jsme se dočkali teprve nyní, ale hlavní je, že jsme se dočkali.
LDDM se narodí také jako dvojčata. První bude tzv. „basic“ (základní) a bude podporovat současné grafické karty se Shader Modelem 2.0 a 3.0. Tato verze je schopna pracovat jak pod WGF 1.0, tak pod druhou verzí (2.0). Druhá verze LDDM „advanced“ (rozšířená) bude schopná běžet jen pod WGF 2.0. Nutno podotknout, že podporu rozšířeného LDDM nemá zatím žádná grafická karta, odhady kdy se takovéto karty objeví na trhu se velmi liší od půl roku až po rok. Počkejme si tedy ještě nějaký ten čas a budeme vědět více. A v čem bude LDDM advanced odlišná? Hlavní bude naprosté oddělení od ovladačů grafické karty (stejně jako tomu je u OpenGL) a hlavní komunikace bude probíhat přímou cestou z Kernelu do WGF 2.0 potažmo do LDDM advanced. Otázka je, jak se Microsoftu povede samotný Kernel a ona přímá komunikace. Jak to všechno vypadá vidíte na obrázku.
Jistě vás napadne, že pro takovýto chod je nutné mít přizpůsobené ovladače. Je tomu tak, avšak nemusíme se ničeho bát, protože Longhorn ve svém počátku budou podporovat ještě klasický Display Driver Model z Windows XP (časem, ale bude prý tato možnost odstraněna). Z toho je patrné, že Microsoft chce dát co nejdelší čas vývojářům ovladačů a vyhnout se tak případným problémům se systémem samotným. Inu jak se říká: „Opatrnosti není nikdy dost.“
Multitasking ve 3D
Další důležitou vlastností LDDM je „virtualization“. V současné době je grafická karta používána výhradně když běží 3D aplikace, „virtualization“ dovoluje aplikacím ve své podstatě takový multitasking. Základní verze LDDM bude pracovat na principu plánování dávek (stejně jako tomu je u dávkového souboru .bat). Její problém tkví v tom, že jakmile je jedna dávka spuštěna, nelze ji přerušit a právě pro to tu je rozšířená verze LDDM, kde tato dávka může být roztříděna na kontextové úrovni. Toto třídění je pak schopna měnit jak grafická karta samotná, tak i obslužný software. Pokud jste tomu neporozuměli, tak se to pokusím vysvětlit na příkladě.
Windows Longhorn jsou postaveny na tom, že každé okno je složené z polygonů ve 3D s nanesenými texturami. Dnešní grafické karty nejsou schopny pojmout tak velké množství informací a tak to řeší elegantně tím, že jakákoli 3D informace může být uložena do stránkovací oblasti paměti a tam ponechána na určitou dobu svému osudu. Z této vlastnosti je patrné velké zatížení sběrnice. Právě proto se nedoporučuje provozovat Avalon (tak se nazývá grafický systém Longhornů) na sběrnici AGP, která je schopná komunikace „jen“ 2,1GB/s. PCI-Express 16x má 4GB/s což není ve své podstatě tak velký nárůst, ale je zde jeden háček. Ony 4GB/s jsou každým směrem, takže ve výsledku (za ideálních podmínek) může probíhat komunikace až 8GB/s což je oproti 2,1GB/s už velmi znát. Této vlastnosti hojně využívá TurboCache a HyperMemory od ATI respektive nVidie.
Windows Graphics Foundation 2.0
Doteď jsme mluvili o WGF jako takovém a popsali jsme si funkce, které jsou společné oběma verzím. Nyní se podíváme na výhody druhé verze. Ta přináší jednu Novinku (s velkým „N“). Tou je daleko přísnější udání specifikací pro render, které zamezí rozdílu mezi jednotlivými kartami. Jako příklad z dnešních nesourodostí u karet je např. přesnost FP (plovoucí desetinné čárky) – u karet ATi 24bit a u nVidia 16 popř. 32bit. Nebo rozdílnost v kvalitě Anisotropního filtrování. S WGF 2.0 by měly scény vypadat na všech kartách naprosto stejně. To je jistě velmi potěšující, v dnešní době je situace naprosto tragická. Je to jako kdybychom dali renderovat jednu scénu na procesorech AMD a tu stejnou na Intel a pokaždé bychom dostali odlišný výsledek. V tomto by se měla grafická jádra velmi přiblížit procesorům. Tuto vlastnost považují za jednu z nejdůležitějších ze všech vlastností, co WGF 2.0 přináší. Zaslouží si jistě respekt. Stačí jen doufat, že se vše povede, jak Microsoft slibuje.
WGF 2.0 dále dovoluje běhu 3D aplikace bez velkého zatížení procesoru. Důsledkem je fakt, že driver již nestojí takříkajíc v cestě a většinu času jen „čeká“ na nové informace pro zpracování.
Uživatelé profesionálních grafických aplikací jako je Maya, Softimage|XSI jistě zajímá, jak je to s OpenGL. Dnes velmi často používané OpenGL 1.4 se stane součástí WGF a zároveň se objeví podpora OpenGL 2.0. Inu situace je to zajímavá a jistě se máme na co těšit.
Desktop Windows Manager
Nový Desktop Windows Manager (dále jen DWM) přicházející s Windows Longhorn je technologicky zcela jinde než dnešní desktop manager. Jeho princip vychází z mapování textur na polygony (stejně jako tomu je u her). Pokud si myslíte, že jedno okno je jeden polygon, tak vás musím zklamat. Každé okno se skládá z různých částí – tlačítka, samotné okno aplikace atd., takže ve výsledku má okno okolo 150 polygonů respektive trojúhelníků. Pokud si vezmete, kolik zvládá průměrná grafická karta polygonů při alespoň 30fps, tak dojdete k číslu 100 oken na celou plochu monitoru což je situace dosti nereálná. V tomto ohledu se tedy není čeho bát.
Další velmi důležitou vlastností DWM je skutečnost, že aplikace využívající 3D prostředí (jako například hra) může převzít kontrolu nad celou grafickou kartou a pozastavit běh WDM na daném monitoru. Pokud však máte dva monitory a jeden chcete využít na hraní her a druhý na sledování ICQ či filmu, tak vám nic nebrání. Ano i tento „hybridní“ chod je možný u nového WDM.
Dnešní desktop manager je založen na jedno-bufetovém režimu.
Prozatím jsme si povídali převážně o samých pozitivech. Jsou zde ale také i negativní dopady. Jedním z hlavních je, že WDM bude potřebovat pro svůj běh velké množství systémové paměti. Pokud si uvědomíme, jak systém pracuje (jen připomenu, že každé okno na sobě nese texturu, která je přenášena do stránkovací oblasti paměti), tak si každý jistě dokáže představit, kolik paměti je nutné pro uložení tak velkého množství textur ve vysokém rozlišení. 1GB se stane optimálním pro běh samotného systému, takže 2GB pro hladký běh i s náročnějšími aplikacemi bude nutností.
Finální zamyšlení
Jde opravdu o revoluci v zobrazování oken či přístupu systému k ovladačům? Odpověď by nejspíš byla dvojí. V případě zobrazování se to za revoluci považovat dá. Nový systém přinese nečekané množství možností jak pro grafickou stránku systému, tak pro ovládání samotné. Je možné, že ovládání Longhornů nebude úplně podle vašich představ, v takovém případě se jistě velmi brzo objeví různé modifikace. Právě díky tomu, jak je koncipován celý WDM, je zásah programů z třetích stran velmi pravděpodobné.
V případě správy ovladačů a grafického jádra systému jde spíše o nutnou evoluci. Oddělení grafického jádra od systému je opravdu nutné pro udržení stability systému. Striktnější specifikace pro tender jsou již také nevyhnutelné. Vzpomeňme třeba na „cheatování“ nVidie v 3DMarku03, nebo na to jak velmi odlišný tender měla XGI Volari. Takováto situace by již neměla nikdy nastat!