Diit.cz - Novinky a informace o hardware, software a internetu

Grafické rozhraní Longhornu

Longhorn logo
Lidé z Microsoftu začínají být stále štědřejší na informace ohledně připravovaného Longhornu. Tentokrát se rozpovídali David Blythe (jedna z vůdčích osobností skupiny grafických a herních technologií), Kam VedBrat (vedoucí manažer Windows Client Teamu) a Greg Schechter (softwarový architekt Windows Client Teamu). Díky tomu se tentokrát můžeme trochu podrobněji podívat na jeho grafické rozhraní. Řekneme si více o nástupci Direct 3D, způsobech vykreslování grafiky v Longhornu či o tom, jaký bude na grafické rozhraní Longhornu potřeba hardware.

Základem zobrazování grafiky v Longhornu je rozhraní Windows Graphics Foundation, zkráceně WGF, o kterém jsme již před časem psali. První verze označená WGF 1.0 bude obsahovat Direct3D 9.0c a navíc přidá virtualizaci a pár dalších drobností, Longhorn také bude obsahovat novou generaci 3D API (jež by se dalo pracovně nazvat Direct3D 10) nazvanou WGF 2.0. Jednou z klíčových součástí WGF je Longhorn Display Driver Model (LDDM). S LDDM například již nebudete nuceni po instalaci ovůadačů na grafickou kartu restartovat Windows. LDDM se objeví ve dvou fázích. První, nazvaná „základní“, podporující současnou generaci grafického hardware (tj. Shader Model 2.0 a 3.0) a druhá, nazvaná „pokročilá“ bude podporovat schopnosti hardwaru, který přijde na trh až po uvedení Longhornu. Současný model ovladačů z Windows XP bude zpětně podporován, ale již se pro něj nebude vyvíjet nic nového. Nový hardware tak již bude plně odkázán na WGF.

Longhorn GUI

Jedna z klíčových vlastností grafického jádra Longhornu (pojmenovaného Avalon) je virtualizace. V současných Windows XP se ke grafické kartě ve 3D režimu přistupuje zcela exkluzivně. Oproti tomu virtualizace umožní několika aplikacím rozdělit si čas práce s grafickým hardwarem pomocí plánování příkazů. „Základní“ LDDM rozvrhne dávky aplikačních úloh (které nebude možno po spuštění přerušit). „Pokročilý“ LDDM půjde ještě o jednu úroveň níže, kdy úlohy bude možno rozvrhnout s ohledem na jejich vzájemnou provázanost a poté předat k dalšímu zpracování (bavíme se stále o grafických datech, nikoliv o běžném běhu aplikací). Každé okno bude moci být 3D povrchem (v návaznosti na zvolený způsob zobrazení, viz. dále). Klíčovou vlastností pro Longhorn je to, že 3D povrchy mohou být dle potřeby přeposílány do tzv. „virtuální paměti“. To v podstatě znamená, že pokud by se již grafická data nevešla do paměti grafické karty, bude systém schopen libovolné množství těchto dat přeposlat do operační paměti (například minimalizovaná okna, či okna, která jsou již nějakou dobu schována pod jinými) a v případě potřeby si je opět natáhnout zpět. Paměťové nároky na zobrazení oken aplikací tak budou moci být větší, než je velikost paměti grafické karty. To však bude problém pro AGP sběrnici, která je primárně určena pro jednosměrný přenos dat do grafické karty. Sběrnice PCI Express by naproti tomu se svojí robustní dvousměrnou komunikací neměla mít žádné problémy. Na druhou stranu virtualizace bude něco stát. Namísto dnes běžných 128 nebo 256 MB grafické RAM bude grafická část Longhornu schopna zkonzumovat v podstatě neomezené množství paměti, takže pokud si myslíte, že s 1GB RAM a 256MB grafickou kartou si vystačíte, tak vás možná v budoucnu Longhorn za určitých okolností vyvede z omylu! Jinak Avalon bude samozřejmě schopen rozchodit programy psané pro současné DirectX.

Longhorn dále bude moci nabídnout podporu hardwarové akcelerace OpenGL aplikací dle OpenGL v1.4 specifikací. Installable Client Drivers (ICDs) od výrobců karet budou též nadále podporovány a tak bude možno využívat i vyšší verze OpenGL (jako třeba v2.0). Logicky však OpenGL nadále není Microsoftem preferované rozhraní pro práci s grafikou.

GUI ve všech předchozích verzích Windows (včetně Windows XP) bylo založeno na single-buffered zobrazení. Nevýhoda tohoto způsobu je v pomalém vykreslování (například v trhání obrazu na pomalých grafických kartách ve vysokých rozlišeních), neboť systém nemá předpočítána žádna další grafická data. V Longhornu je vše založeno na práci s back bufferem (což je část grafické paměti, sloužící k odkládání vyrenderovaných částí zobrazované scény, kdy se z těchto částí posléze složí celý obraz, resp. jeden zobrazený snímek), přičemž se v podstatě pracuje s texturami a všechny operace s okny probíhají na hardwarové úrovni. Tato idea je součástí WGF 1.0, což umožňuje DWM (Desktop Window Manageru) přistupovat k back buffer datům, generovaným všemi aplikacemi. Sdílené povrchy jsou potom skládány pomocí DWM do jejich vlastního back bufferu který lze přehodit do front bufferu (a tím jej dát k dispozici pro zobrazení na monitoru). DWM tak v podstatě bude tvořit další mezivrstvu mezi systémem a tím, co uživatel uvidí. Bude jej samozřejmě možné kdykoliv vypnout, například ve chvíli, kdy bude potřeba vykreslit Overlay okno videa.

Při celoobrazovkovém režimu zobrazení může jakákoliv aplikace (jako třeba hra) získat exkluzivní přístup k výstupu na obrazovku (ekvivalent vykreslování Overlay okna). Ve chvíli, kdy se tak stane, se DWM ukončí. Současně jsou vzájemně nezávislé výstupy na více monitorů. Na jednom tak může běžet přes celou obrazovku nějaká hra a na druhém DWM, zajištující plně akcelerované zobrazení pro tento monitor. Zajímavé bude, jak se například tyto dvě záležitosti podělí o systémové prostředky (zejména o grafickou kartu).

Longhorn GUI

Microsoft do Longhornu implementoval čtyři vrstvy uživatelského rozhraní: Classic, To Go, Aero Express a Aero Glass.

Longhorn GUI

Classic vypadá podobně jako GUI Windows 2000 nebo XP. To Go verze již má vzhled Longhornu ale neobsahuje tolik efektů a tudíž má i menší nároky na hardware. Nepodporuje například shader efekty. Aero Express již běží po Avalonem a tudíž podporuje vše, o čem jsme se zmiňovali. Všechny tyto vrstvy mají podporu základního i pokročilého Longhorn Display Driver Modelu.

Konečně se dostáváme k tomu, co všechny zajímá: jaký hardware bude na grafické rozhraní Longhornu potřeba. Microsoft doporučuje mít DirectX 9.0c hardware. Minimum pro Aero je 64 MB, doporučeno je 128 MB a pro plné Aero Glass efekty to bude chtít 256 MB RAM na grafické kartě. Aero Glass uživatelské rozhraní si vyžádá pro obnovu textur rychlost 2GB/s (což prý údajně odpovídá HDTV videu vykreslovanému na dvojici obrazovek rychlostí 60 fps). Každé okno se bude skládat zhruba ze 150 trojúhelníků, takže například karta zvládající 1,5 miliónu trojúhelníků za sekundu tak bude schopna vykreslovat 100 oken.

Longhorn GUI

Windows Graphics Foundation 2.0 (WGF 2.0), jakožto nástupce Direct 3D, by měl být k dispozici v době vypuštění Longhornu. Toto rozhraní by mělo být daleko přísnější na specifikace a neměla by tak vznikat nedorozumění typu „24-bit u ATI versus 16/32-bit u nVidie“. WGF 2.0 také připouští GPU operace bez zásahů procesoru, přičemž WGF 2.0 kompatibilní grafický hardware by měl mít daleko větší volnost ve vykonávání grafických operací.

Zdroje: 

David "David Ježek" Ježek

Bývalý zdejší redaktor (2005-2017), nyní diskusní rejpal.

více článků, blogů a informací o autorovi

Diskuse ke článku Grafické rozhraní Longhornu

Pátek, 22 Červenec 2005 - 10:05 | Anonym | To Micker: http://www.apple.cz/cze/macosx/...
Středa, 11 Květen 2005 - 21:38 | Jan Cernota | OS X je slusnej operacni system, ale diky...
Pondělí, 9 Květen 2005 - 02:38 | micker | pratele, vykaslete se na cekani na longhorn a...
Pátek, 6 Květen 2005 - 17:11 | robman | Ja mam alpha verziu longhornu a myslim si ze je...
Čtvrtek, 5 Květen 2005 - 09:47 | Anonym | sdvsdf: A ty jsi snad s Longhornem mel moznost...
Čtvrtek, 5 Květen 2005 - 09:41 | Anonym | Urcite je tu vice lidi kteri preskakali z DOSu...
Čtvrtek, 5 Květen 2005 - 09:05 | Anonym | A teraz pobezi na 100% aj grafika aj CPU - tomu...
Čtvrtek, 5 Květen 2005 - 08:09 | Anonym | fousek: Jenze v soucasnosti pouziva OS vice...
Čtvrtek, 5 Květen 2005 - 08:04 | Anonym | to Hanz: Nevim proc by operacni system mel...
Čtvrtek, 5 Květen 2005 - 06:58 | Bespi | toAll: Fakt mam rad vas stale kritiky. Kdyby jste...

Zobrazit diskusi