Hlavní navigace

Prohlížeče a hardwarová akcelerace

7. 4. 2011

Sdílet

Zdroj: Redakce

Pod pokličkou

Když už to vypadalo, že nás prohlížeče z hlediska výkonu ničím nepřekvapí, vstoupila do hry hardwarové akcelerace. Procesor hraje spíše úlohu chytrého velitele, zatímco grafické karta je méně přemýšlivou jednotkou, která velitele v praxi převyšuje hrubým výkonem. V našem případě výpočetním výkonem. Potenciální výkonnost současné špičky grafických karet sahá opravdu hodně daleko za možnosti procesorů. Uvolní proto cestu dalšímu rozvoji složitých webových stránek plných všemožných efektů a složitých kódů, kde by starý dobrý procesor nestíhal.

Ne, že by snad patřil do starého železa a měl by se přestat používat. Rozdíl mezi dvěma komponentami způsobil historický vývoj, neboť prakticky od počátku se každá z nich ubírá odlišným směrem. Každá má pro své fungování a zaměření na jinou oblast vlastní logické odůvodnění. Pokoušet se nahradit procesor grafickou kartou je tedy zkrátka nesmysl. Prohlížeče hardwarovou akceleraci neobjevily jako první, delší dobu se využívá kupříkladu při přehrávání videa.

Dávno objevená Amerika

On by to byl vlastně hřích nechat ležet grafickou kartu ladem, což si Microsoft včas uvědomil a rozhodl se vypomoci jeho operačním systémům. Jestliže Vista s akcelerací koketovala, ve Windows 7 vykreslování moderního prostředí Aero padá na bedra grafické karty se vším všudy. Zde se pozitivně projeví nejméně tři faktory – výborný výkon zaručuje plynulost sebešílenějších grafických efektů, spoří se výpočetní čas procesoru a šetří se energie, což zajímá především uživatele notebooků, kde záleží na výdrži baterie. Grafickou kartu tyto málo významné operace (nezapomínejme, že dokáže zpracovat složité 3D hry) zatěžují minimálně a spotřebuje méně energie než nenažraný procesor ve zvýšené zátěži.

Proto se není čemu divit, když Microsoft tvrdí, že při prohlížení v nejnovějším Internet Exploreru vydrží váš notebook ve srovnání s jeho konkurenty delší dobu. Jak vyšlo najevo z našeho testování, práce redmondských vývojářů byla nejusilovnější a díky jejich píli získal nejpoužívanější browser náskok před Firefoxem a pozici na výsluní. Předně se sluší podotknout, že americký softwarový gigant Billa Gatese disponuje skoro neomezeným množstvím financí, takže si může dovolit zaplatit tolik vývojářů a testerů, kolik potřebuje. Naproti tomu Mozilla pracuje s omezenějším rozpočtem a menším počtem vývojářů. Přesto její Firefox ve finále ani trochu nezklamal, pravda čekání na něj bylo místy nesnesitelně dlouhé, přesto se pořádně blýsknul.

Platformy se různí

Nesmíme ani zapomenout na jeden důležitý fakt – Firefox totiž nevychází jen na platformě Windows, ale také na Macu a Linuxu. V tomto světle si, myslím, výkon Mozilly zaslouží o to větší uznání. My se ale samozřejmě v první řadě bavíme o Windows. Zde nehraje prim technologie OpenGL, nýbrž domácí DirectX. Pokročilé efekty a myriády aktivních objektů zpracovává modul Direct3D v kombinaci s Direct2D a DirectWrite. Pokud si vzpomínáte na microsoftí benchmark s akváriem, v němž plave až tisíc ryb, tak za plynulé zobrazení zodpovídají tyto moduly. Obecně se zapojují do práce při celkovém sestavení stránky, jejich sílu nicméně odhalí především složité stránky jako zmíněné akvárium.

Samotné Direct2D urychluje vykreslení zejména obrázků a jiných (grafických) prvků, o text se stará DirectWrite. Díky tomu se zobrazí rychleji prvky jazyka HTML, teoreticky se rovněž zlepší kvalita zobrazení. Direct3D naproti tomu není o vykreslování, ale o sestavení stránky. Oba pojmy možná vypadají do jisté míry podobně, sestavení je ale přeci jen něco malilinko jiného. Grafická karta se v této fázi zapotí víc, hlavně na stránkách s velkým množstvím bitmapových obrázků (např. ryby plovoucí napříč obrazovkou, jde ovšem o trochu extrémní případ).

Proč IE9 nepodporuje XP?

Proč IE9 nepodporuje XP?

Ikspéčkáři se dozvěděli smutnou zprávu, a to že jim Microsoft odepře Internet Explorer 9. Z části za to může fakt, že Direct2D, jehož úlohu jsme si přiblížili, se v tomto systému nevyskytuje. S náležitými aktualizacemi si jej lze doinstalovat do Visty, ve Windows 7 se pak nachází odjakživa. Proto plnou hardwarovou akceleraci využijete pouze na těchto dvou moderních platformách, kterými Vista i „sedmičky“ nepochybně jsou. Oficiální stanovisko Microsoftu k nepodpoře postaršího operačního systému nezměnil ani tlak konkurence. Mozilla mu vlastně vypálila rybník, protože se rozhodla přesně obráceně. Její Firefox ve Windows XP sice k vykreslení obsahu stránky používá namísto Direct2D starou technologii GDI (žádný inovativní skok kupředu se tu proto nekoná), díky přítomnosti Direct3D nicméně zůstává akcelerované sestavení stránky. A to je z jistého pohledu důležitější než vykreslování s Direct2D, které ikspéčkáři ve výsledku rádi oželí, že?

Na druhou stranu v Redmondu jak teoreticky, tak prakticky využívají své aktuální technologie v maximální míře a konkurenci v tomto ohledu konkurenci kritizují. Vinou multiplatformního přístupu k vývoji prohlížeče mohou být jisté kompromisy a výsledný produkt kvůli nim nemusí využívat všechny vymoženosti a nativní přístup k funkcím Windows. Proto nemusí třetí strany dosahovat perfektních výsledků srovnatelných s Internet Explorerem. Jednoznačně s tím souhlasit asi nemůžeme, pravdu nalezneme někde uprostřed. Jediný prohlížeč nabízející vedle IE hardwarovou akceleraci (nepočítám různá vývojová sestavení, která širokou veřejnost míjí) se skutečně se svým úhlavním nepřítelem rovnat nemůže, Firefox oproti němu častěji zakolísá a v celkových součtech si vede o něco hůře, viz měření provedená minulý týden.

Tip: Megatest 10 prohlížečů: Druhá várka testů

Víc momentálně nevíme a budeme si muset počkat na Google a Operu, kteří mohou tvrzení Microsoftu zcela vyvrátit. Do té doby platí Internet Explorer za prohlížeč nejlépe využívající grafické karty. Velice dobře si vede na různě výkonných strojích, což pro jeho konkurenty naopak nutně platit nemusí. Má na své straně jednu velkou výhodu – kromě toho, že vývoj prohlížeče může redmondský gigant dotovat neomezeným množstvím financí, jeho vývojáři znají dokonale každé zákoutí Windows. A znalost platformy na takové úrovni nemůže být nikdy na škodu.

Počítače se rovněž různí

Zejména obrovský rozpočet dovolil členům IE Teamu rozpohybovat rozsáhlá testování výkonu na různých počítačích. Ekosystém Windows se od jablečného liší naprosto zásadním způsobem. Doslova masy lidí si navykly kritizovat „okna“ za časté padání a nutnost instalovat ke všem zařízením ovladače. Dnes se podařilo skoro všechny problémy eliminovat, za což bychom měli redmodským zatleskat. Apple optimalizuje Mac pro pár vlastních strojů sériové výroby, které se sami sobě dosti podobají a rozsah použitého hardwaru není zrovna extrémně rozsáhlý. Windows naproti tomu poslušně fungují prakticky na jakékoliv konfiguraci. A že existuje enormní počet komponent, jež lze různě nakombinovat. Je prostě jednodušší ladit systém pro úzký výběr komponent, proto bych v tomto Apple nijak přehnaně nechválil.

Microsoft oproti němu předvádí doslova heroický výkon, třeba Windows 7 pracují rychle a spolehlivě prakticky na každém počítači a dokonce vám naservírují potřebné ovladače ke každé komponentě přes službu Windows Update. Zajistit kompatibilitu Internet Exploreru se stroji připojenými k internetu jistě stálo vývojáře velké úsilí, vždyť jen grafických karet s unikátním označením se nashromáždilo více než 700, jak vyšlo najevo z údajů sesbíraných od uživatelů v době vývoje. Číslo přitom není konečné.

A to nám vedle faktu, že skoro každý má v počítači jinou grafikou kartu, zůstávají k připočtení různé verze ovladačů. Ne všichni aktivně aktualizují své ovladače s každým čerstvým vydáním, zkušenost hovoří poměrně jednoznačně – ovladače přibalené na CD k zakoupenému kousku hardwaru obvykle aktualizují maximálně nadšenci. Tisíce kombinací grafických karet a ovladačů představují velkou výzvu a odladit prohlížeč tak, aby běhal nejlépe za každých podmínek, chce mnoho úsilí. Nejdražší „grafárny“ zůstávají v menším zastoupení než integrované či méně výkonné čipy, cílem je nicméně uspokojit všechny zákazníky, ne jen menšinu s drahou a výkonnou výbavou ukrytou v extravagantních skříních.

Povedlo se, Internet Explorer běží i na mininoteboocích skoro stejně dobře jako na našlapaných mašinách. Dokonalá hardwarová akcelerace přesto nereprezentuje ucelenou představu o dobrém prohlížeči, pouze její část.

Jak vyřešit nefunkční akceleraci?

Nekompatibilita je běžná

Relativně malou část uživatelské základny postihne penalizace za nekompatibilitu. Nestává se to ani tak moc kvůli staršímu hardwaru, častěji situaci zaviní zastaralé ovladače. V takovém případě Internet Explorer 9 přepne na softwarové vykreslování místo hardwarového. Přijdete tím o podstatnou část výhod, které umně naprogramovaná aplikace nabízí. Předvolbu sami ovlivníte v Možnostech Internetu, byť nevidím důvod, proč by někdo měl softwarové vykreslování ručně zapínat. Násilně ji odtud ovšem nezapnete, na nekompatibilních sestavách uvidíte políčko zašedlé a jednoduše na něj vůbec nepůjde klepnout. Akcelerace se vypíná i při připojení ze vzdáleného počítače.

Softwarové vykreslování stránky opět zapojuje do akce DirectX prostřednictvím emulátoru Windows Advanced Rasterization Platform. Ten by měl údajně běžet i tak rychleji než GDI v osmém Internet Exploreru.

Mimochodem, pojem „zastaralý ovladač ke grafické kartě“ zahrnuje problémové verze, jež s akcelerací vykreslují web pomaleji nežli bez ní, způsobují pády programu, představují bezpečnostní riziko (tzn., že jsou plné neopravených děr) nebo ubližují výsledné kvalitě zobrazení.

Jak s takovou situací naložit?

Neuniversálněji se tváří možnost aktualizovat ovladač pomocí služby Windows Update, kde v levé postranní liště klepněte na odkaz Vyhledat aktualizace. Pokud budete mít štěstí, novější verzi naleznete v sekci Volitelné aktualizace.

V některých případech lze aktualizace provést přímo přes ovládací aplikaci od výrobce grafické karty. Pokud tuto možnost nemáte, zkuste štěstí na webu výrobce. My vás odkážeme na tři hlavní firmy:

Majitelé notebooků, v menší míře pak vlastníci hotových sériových sestav, mohou prozkoumat stránky výrobců notebooků, kde by měli uspět jakbysmet.

Mozilla se snažila zjistit, kolika lidem se staví do cesty překážky znemožňující akceleraci. Odhadem pouhým 8 % uživatelů Windows XP nebrání zastaralé ovladače ve využití grafické karty (číslo zase tak malé není, když vezmete v potaz, kolik věrných příznivců tento systém dosud neopustilo). U Visty se číslo zvyšuje na 17 % a ve Windows 7 si bezproblémové prohlížení s podporou výkonného kusu hardwaru užije asi 44 % lidí. Pro porovnání dodávám, že Applův Mac vyšel z průzkumu zdaleka nejlépe s 99 %, jenže hovoříme pouze o verzi Mac OS 10.6.3 a o novějších. Starších edicí se hardwarová akcelerace netýká. Následuje Linux, kde ji ale nejprve musíte ručně zapnout. Proto berte 79 % spokojených uživatelů s velkou rezervou.

Nezbytnost nebo reklamní trik?

Nezbytnost nebo reklamní trik?

Producenti prohlížečů se nám nyní snaží do hlavy protlačit ideu, že se bez akcelerace neobejdeme. Upřímně, tlaky budou mnohem větší, až se jí vedle Internet Exploreru a Firefoxu naučí také ostatní. Až se to stane, revoluce se nebude konat okamžitě. Jistě, lepší a rychlejší vykreslování běžných stránek je fajn, v celkovém důsledku jde ale o další evoluční krok. A stavět se z něj úžasem na hlavu nebudeme, alespoň v počátcích ne. Během přihrávaní videa nebo audia pomocí HTML5 jeho význam vzrůstá, jenže kde se dnes uplatní, když drtivou většinu videí drží v hrsti Adobe se svým Flashem. Web čeká dlouhá cesta, teprve po jejím absolvování bude hardwarová akcelerace skutečně důležitá.

Záměrně se vyhýbám slovu nezbytná, protože nad popsanou situací visí otazník. Může se stát, že web onou cestou k vysněnému cíli, kdy se zbaví uzavřených technologií, nedojde. Tento scénář osobně považuji za méně pravděpodobný. Posečkejme, až se weboví vývojáři naučí hloubkově pracovat s nově nastolenými standardy a začnou produkovat propracované stránky využívající pokročilých funkcí a efektů.

KL24

Někoho by na hardwarovou akceleraci možná nalákaly řeči o delší výdrži notebooků. Ano, grafická karta jej v některých situacích připraví o méně energie než procesor, tento faktor ale závisí hned na několika věcech. Částečně záleží na komponentách ve vašem počítači, vliv mají pak i samotné typy webů. Úspora energie se na delší životnosti baterie vždy projeví alespoň minimálně, za což můžeme být vděční. Nerad bych ale, aby se všichni nechali strhnout případnými marketingovými triky a doufali v příliš velký pokrok. Jestliže váš notebook vydrží při prohlížení na baterii dvě hodiny, Internet Explorer 9, ani Firefox 4 vám čas k brouzdání náhle nenavýší o další hodinu.

Skoro jako kdyby akcelerace neměla lepšího významu než uvádět do chodu technologická dema. Jak se na její příchod tváříte vy? Patříte spíše ke skeptikům, anebo zastupujete veliké nadšence?

Byl pro vás článek přínosný?