Linux E X P R E S

Facebook

Co se chystá ve Firefoxu?

firefox2013.png

Populární webový prohlížeč Firefox už pár měsíců vypadá stejně. V poznámkách k vydání nových verzí toho kromě opravených chyb a doplňkových služeb (třeba posledně kontroverzního začlenění Pocket) moc není. Jaké změny vývojáři chystají „pod pokličkou“?


V článku budu užívat oficiální označení vývojových větví Firefoxu. A proto bych na úvod napsal pár řádků pro objasnění rozdílů mezi nimi. V době psaní článku se ve větvi Release (=stabilní vydání) nacházela verze 38, v kanálu Beta verze 39 a kromě těchto větví existují ještě Aurora (Firefox Developer Edition) a (někdy poměrně nestabilní) Nightly.

Vždy po vydání Firefoxu dojde k posunutí verzí, tzn. když vyjde stabilní Firefox 39, tak do kanálu Beta se dostane verze 40 atd. Nemusí ale být identická s verzí, která se pod stejným číselným označením nacházela v méně stabilním kanálu. Některé funkce ještě třeba nejsou odladěné a vývojáři je do stabilnějšího kanálu nezahrnou (popř. je ve výchozím stavu deaktivují). Většinu z připravovaných novinek, o kterých bude v tomto článku řeč, můžete už na vlastní kůži vyzkoušet ve větvi Aurora.

Electrolysis (e10s)

Za tímto poněkud tajemným označením se skrývá „víceprocesový“ Firefox. V podstatě to znamená, že vykreslování samotné webové stránky probíhá v dalším vlákně. Tato změna kromě lepšího zabezpečení přináší i zvýšení výkonu, protože tak Firefox může lépe využít možností (dnes velmi častých) vícejádrových procesorů.

e10s bude do stabilního vydání zařazeno pravděpodobně ještě v průběhu tohoto roku. Podle všeho už zbývá dořešit jen několik rozbitých rozšíření (jejichž seznam se krátí každým dnem) a osobně jsem při aktivaci této funkce nenarazil na jakékoliv problémy se stabilitou.

Jestliže chcete e10s vyzkoušet už nyní, tak ve Firefoxu Aurora a vyšším se v nastavení nachází příslušná možnost.

Zda je e10s aktivní lze zjistit na stránce about:support v řádku Multiprocesová okna Zda je e10s aktivní lze zjistit na stránce about:support v řádku Multiprocesová okna

Skia

Skia je knihovna pro 2D vykreslování od společnosti Google. Používá se v prohlížeči Google Chrome a v operačním systému Chrome OS a Android. Ve Firefoxu je tato knihovna rovněž dostupná jako backend pro vykreslovací engine Azure. Ve Windows Firefox pro 2D vykreslování využívá Direct2D, Direct2D1.1, Skia nebo Cairo.

Na Linuxu je však ve výchozím nastavení k dispozici jen Cairo. Skia podstatně vylepšuje odezvu prohlížeče a jeho výkon. Ve spoustě případů bohužel dochází k chybám v zobrazování, degradaci výkonu atd. Cairo tedy jako výchozí v Linuxu ještě asi nějakou dobu zůstane.



OMTC

Off-Main Thread Compositing (OMTC) oddělí kompozici (skládání) do dalšího vlákna. Prohlížeč tak bude reagovat i v případech, že je skládání (třeba špatně napsaným javascriptovým kódem) zdrženo. Tohle už v základu funguje na všech platformách kromě Linuxu a případů, kdy se ovladač grafické karty nachází na blacklistu.

Donedávna byla tato funkce velmi nestabilní i ve vývojových verzích prohlížeče. Proto její aktivace kromě povolení na about:config obnášela i nastavení globálních proměnných před spuštěním Firefoxu. To se ale změnilo s příchodem verze 40 (aktuálně Aurora). Kromě jednodušší aktivace byla také opravena spousta chyb a zlepšen výkon na Linuxu.

Věřím, že do konce roku bude OMTC povoleno i na Linuxu ve výchozím nastavení. Je ale také možné, že bude aktivace omezena, protože na rozdíl od běžné kompozice je OMTC mnohem více náchylné na „rozbité“ ovladače grafických karet.

Pro aktivaci ve Firefoxu Aurora a vyšším na about:config nastavte:

layers.acceleration.force-enabled = true

Stav aktivace zjistíte na stránce about:support (aktivní OMTC značí 1/1 OMTC v řádku Grafická akcelerace Windows) Stav aktivace zjistíte na stránce about:support (aktivní OMTC značí 1/1 OMTC v řádku Grafická akcelerace Windows)

Wayland

Podpora Waylandu je ve Firefoxu ještě pořád v plenkách. Podle posledního blogpostu (z června minulého roku), který jsem na toto téma našel, Firefox pod Waylandem běží po úpravách zdrojového kódu a deaktivaci vstupu z klávesnice. Tohle ještě nějaký čas bude trvat, na druhou stranu ale Firefox funguje ve Waylandu i jako běžná aplikace zkompilovaná pro X11 díky XWaylandu.

MSE

Media Source Extensions rozšiřuje HTMLMediaElement tak, aby bylo možné generovat streamy pomocí JavaScriptu. Jedním z možných využití je třeba adaptivní streamování. Z velkých webů tohle využívá třeba YouTube pro automatické přizpůsobování kvality přehrávaného videa tak, aby datový tok odpovídal rychlosti internetového připojení. MSE už aktivovat lze, ale v mém případě pak bylo přehrávání některých videí problematické.

Pro aktivaci na stránce about:config nastavte:

media.mediasource.enabled = true
media.mediasource.webm.enabled = true

EME

Encrypted Media Extensions je javascriptové API pro přehrávání chráněného multimediálního obsahu v html. Modul CDM (Content Decryption Module) dešifruje, dekóduje a zobrazí chráněný obsah. Firefox pro toto od verze 38 využívá modul Adobe CDM, který ale na Linuxu a OS X zatím není dostupný.

Servo

Jednou v budoucnu možná Servo nahradí vykreslovací jádro Gecko. Servo je mnohem rychlejší a lépe dokáže využít vícejádrové procesory. Je napsané v programovacím jazyce Rust, který je rovněž výtvorem Mozilly. Testovací prohlížeč by měl být k dispozici ještě tento rok.

Slajd z konference LinuxCon 2014 porovnávající Servo a Gecko Slajd z konference LinuxCon 2014 porovnávající Servo a Gecko

Browser.html

A na závěr spíše experiment, který se možná ani vydání nedočká. Browser.html je, jak již název napovídá, experiment s rozhraním Firefoxu napsaným v HTML.

Diskuze (3) Nahoru