Přejít k hlavnímu obsahu

Nové techniky browserů

Nové techniky browserů

Příští generace internetových prohlížečů by měla uživatelům umožnit rychlejší a bezpečnější surfování. My vám představíme čtyři nové technologie, které za těmito optimistickými očekáváními stojí…
MARKUS MANDAU, PETR KRATOCHVÍL

Váš počítač rozhodně nepatří k nejpomalejším, ale nahrávání internetových stránek trvá čím dál tím déle. Pokud je toto váš případ, nemusíte hned "žhavit" telefon k poskytovateli připojení – důvod může být skryt i ve vašem prohlížeči. Zatímco obsah internetu se vyvíjí ďábelskou rychlostí a webové stránky používají stále náročnější technologie, prohlížeče toto tempo poněkud nestíhají. Podle většiny statistik používá více než 80 procent surfařů Firefox a Internet Explorer, které z hlediska rychlosti určitě mezi špičku nepatří. Pro nenáročného surfaře sice vyhoví v oblasti schopností, z technologického hlediska lze však oba tyto browsery bez nadsázky označit za zastaralé. I to může být důvod, proč poměrně rychle stoupá podíl "moderní alternativy" v podobě prohlížeče Google Chrome. Jak se zdá, na tento varovný signál reagují Microsoft i Mozilla pomocí "generální opravy" svých prohlížečů. Změny se objeví především v oblasti architektury a měly by přinést zvýšení výkonu a zlepšení bezpečnosti.

Ochrana doplňků: Izolované procesy

Už od nepaměti najdete prohlížeč a jeho doplňky v rámci systému jako jediný proces. To ale není příliš vhodné, protože pokud se v doplňku objeví chyba či přímo zranitelnost, je ohrožen celý prohlížeč. A že nejde o "teoretizování", o tom se může každý přesvědčit na serveru Secunia (www.secunia.com) – seznamy zranitelností u doplňků Flash, PDF Reader nebo Apple Quicktime jsou výmluvně dlouhé…
Téměř na konci cesty k vyřešení těchto problémů už je Google se svým prohlížečem Chrome – u něj má každá otevřená karta s WWW stránkou svůj vlastní proces. Pokud se objeví problém (web se chová podivně, proces vyžaduje nadměrný výpočetní výkon), lze ho snadno ukončit bez ohrožení zbytku prohlížených webů. Zároveň prohlížeč izoluje v oddělených procesech také aktivované doplňky. Stejný princip "izolace" používá i Apple u svého jádra WebKit2, které ale nenajdete (z důvodů kompatibility) v Safari 4, ale pouze v nejnovější verzi, označené číslem 5.
U Firefoxu se oddělené zpracování "plug-inů"objevilo od verze 3.64. V novějších verzích už například komunikace mezi enginem prohlížeče a třeba doplňkem Flash probíhá přes tzv. Plug-in API (všimněte si v seznamu procesů položky plugin-container.exe). Firefox ale stále ještě neumí izolovat jednotlivé procesy "záložek" se zobrazenými weby – tuto ochranu najdete až ve verzi 4.

JavaScript: Optimalizace pro vícejádrové procesory

Nejnovější komerční stránky, které se předhánějí v množství funkcí a efektů (často pod hlavičkou web 2.0), bývají pro prohlížeč náročné především z hlediska množství zpracovávaného JavaScriptu. Interpreter zodpovědný za fungování JavaScriptu vždy musí provést analýzu kódu a ten poté převést na "akci". Tato metoda má výhodu v podobě univerzálnosti (funguje bez větších problémů na všech platformách), cenou za ni je však relativně nízká rychlost. Nejlepším důkazem tohoto tvrzení je Internet Explorer 8 (viz graf nahoře). Jiné prohlížeče používají k dosažení vyššího výkonu konverzi často používaných "Code Snippets" (částí kódu) na smyčky pro runtime ve strojovém kódu. Kromě toho mají části kódů již zkompilované v RAM pro další volání.
Od verze 3.1 má také Firefox v interpreteru integrovaný kompilátor JIT (Justintime) a od té doby je také výrazně rychlejší než například Internet Explorer 8. U nejrychlejších prohlížečů jako Chrome nebo Opera jde engine ještě dále: dokáže přímo převést části kódu a zároveň ho "exportovat" (například v podobě rozbalovacích nabídek). Tato metoda (označovaná jako prekompilace) však zvyšuje rychlost práce s JavaScriptem pouze v případě, že převod (sestavování) a jeho export se provádí současně na dvou jádrech. Zde je tedy nutný moderní hardware, protože na počítači se starým "Pentiem 4" ke zvýšení rychlosti téměř nedojde. Díky této technologii jsou Chrome a Opera ve srovnání s konkurencí při práci s JavaScriptem velmi rychlé. Firefox verze 4 a IE s číslem 9 ale vrací i tyto prohlížeče zpět mezi elitu…

Využití GPU: Nejen rychlá grafika

Jakmile je v prohlížeči "přeložen" kód WWW stránky, je ve Windows odeslán do GDI (Graphics Device Interface). To má na starosti část grafických úloh (například kreslení čar a křivek nebo rendering fontů) a jejich export na výstupní zařízení (monitor, tiskárnu…). Bohužel, pro zpracování dat je u GDI používán procesor, i když by ve většině případů mohla být grafická karta (díky rychlému GPU) rychlejší. A právě to byl důvod, proč Microsoft představil dvě nová rozhraní: Direct2D a DirectWrite. Tato rozhraní využívají pro zpracování vektorové grafiky a textu právě grafickou kartu. Díky tomu se může na webových stránkách zobrazovat animovaná grafika nebo fonty mnohem rychleji.
Tuto technologickou novinku ale prozatím najdete jen pod kapotou Internet Exploreru (verze 9 Platform Preview) a částečně i u Firefoxu (od verze 3.7 Alpha). Další podmínkou pro využití této technologie je operační systém Windows Vista nebo Windows 7 a také grafická karta s podporou DirectX9.
Další novinkou, tentokrát z oblasti 3D grafiky, je technologie WebGL. Díky ní by se kvalitní trojrozměrná grafika mohla dostat i do oblasti WWW stránek a prohlížečů. Tato technologie je multiplatformní, a tak se s ní můžete setkat i v Linuxu nebo Mac OS – jediným požadavkem je grafická karta, která podporuje OpenGL 2.0. V současné době už jsou k dispozici funkční demoverze u všech prohlížečů s výjimkou Internet Exploreru – zdá se, že Microsoft tuto technologii ignoruje, protože není součástí nových webových standardů HTML.
AUTOR@CHIP.CZ


RYCHLOSTNÍ SROVNÁNÍ: STARÉ VERSUS NOVÉ
ZPRACOVÁNÍ JAVASCRIPTU
IE8 3 746 ms
IE9 473 ms

Vzhledem k prekompilaci je IE9 v testu Sunspider téměř desetkrát rychlejší.

RENDERING S VYUŽITÍM DIRECTX
Firefox 3.6 7,8 ms
Firefox 3.7 3,7 ms

Vytvoření stránky je téměř dvakrát rychlejší, pokud je do práce zapojeno GPU.


Bezpečné: Díky ochraně doplňků i bez pádů
Oddělení procesů Prohlížeč odděluje plug-iny a doplňky (například Flash) do samostatného procesu. Pokud doplněk havaruje nebo je zasažen útokem malwaru, prohlížeč není ovlivněn.


Rychlejší: JavaScript pro vícejádrové procesory
Prekompilace kódu Pokud prohlížeč nejprve interpretuje JavaScript na jednom CPU a poté ho na druhém exportuje, je zobrazení stránky mnohem rychlejší.


Zrychlení 3D: Hry v prohlížeči
Grafický engine pro webový obsah Prohlížeč používá technologii WebGL, díky které využívá pro rendering 3D přímo grafickou kartu.


Využití GPU: Render pomocí DirectX
Zrychlení zobrazení textu i obrázků Prohlížeč umožňuje výpočet vektorové grafiky a textu pomocí dvou rozhraní DirectX v grafické kartě