Magyar városról nevezték el az új Firefox-ot

Segítséget kaptál? Szívesen töltöd itt az idődet? Visszajársz hozzánk? Támogasd a munkákat: Ko-fi(külső hivatkozás) és Paypal(külső hivatkozás)!

kami911 képe

Eltelt 8 hét, és ismét az enyhén lazított gyors kiadási ütemtervnek megfelelően menetrendszerűen(külső hivatkozás) megjelent a Firefox új kiadása.

A vállalatok szolgálatában

Hatvan jelzésű főverzió megjelenésével a vállalati terjesztést segítendő a Firefox immáron csoportházirend támogatással keresi a vállalati- rendszergazdák(külső hivatkozás) és felhasználók(külső hivatkozás) kegyeit. A Mozilla windowsos telepítés eseten a csoportházirendeket(külső hivatkozás) ADMX sablonokkal(külső hivatkozás) támogatja, egyedi telepítőkészletek készítését(külső hivatkozás) dokumentációval, illetve az automatikus beállítások(külső hivatkozás) használatával segíti. Linux és macOS esetén a policies.json fájl segítségével konfigurálható és korlátozható(külső hivatkozás) a Firefox. A csoportházirenddel vagy policies fájlokkal beállíthatók a tanúsítványok használata és a hitelesítés, kikapcsolhatók az „about:” oldalak és a beépített PDF-olvasó, a fejlesztőeszközök, valamint kiterjesztések tilthatók le vagy telepíthetőek. Ezek mellett számos művelet elvégezhető és olyan fontos beállítások is lettek, mint a Flash és süti tartalmak bizonyos oldalon történő tiltása vagy engedélyezése. Némely beállítások csak a hosszan támogatott ESR verzióban érhetőek el. Ennek megfelelően a Firefox 60-ból új ESR verzió is debütált. Ez egyértelműen jelzi, hogy a Flash-en kívüli valamennyi Firefox bővítmény [Netscape Plugin API (NPAPI)], valamint a Windows XP és Windows Vista operációs rendszerek felhasználóinak már csak két kiadásnyi, azaz nagyjából négy hónapnyi idejük van, amikor 2018. szeptember 5-én végleg elavulttá válnak az ezeket támogató Firefox ESR verziók.

A Quantum sebessége

Magánemberként is fontos a gyors böngészés, de céges szinten akár forintosítható is, mennyit jelent a tavaly megújult Firefox nagyobb sebessége, amely a Quantum becenevet kapta. A tavaly legalább kétszeresére gyorsult működés, és a versenytársakhoz képest mért 30%-kal kisebb memóriahasználat azt jelenti, hogy a nap végére akár 15 perccel előbb végezhet a dolgozó a feladatával, és több memória marad a böngésző mellett futtatott Office-alkalmazásnak, vagy célszoftvereknek. 

Ezeknek a fejlesztéseknek a gyökere egészen 2012-ig vezethető vissza, amikor megjelent a Servo(külső hivatkozás) projekt, amelyet én 2013-ben láttam, akkor még erősen fejlesztési változatban. A fejlesztéseket az a felismerés vezette, hogy a Firefox böngészőmotorja elavulttá vált, mert nem támogatja megfelelően a modern többmagos processzorokat. Ez volt a Gecko(külső hivatkozás) motor réges-régi jellemzője, amelyet még a Netscape időkből hozott magával: 

A Gecko motor teljes újraírása helyett, az egyes részek újraírását és kicserélését kezdték meg a Mozilla fejlesztői a Servo projekt által végzett kutatómunka mentén. A Electrolisys(külső hivatkozás) 2016-ban elhozta(külső hivatkozás) az alkalmazás és a tartalom folyamatok különválasztását(külső hivatkozás). Tehát a weboldalak, csoportonként külön-külön CPU magot használhattak. Így a CPU-k hatékonyabb használata megvalósult, ám a rendelkezésre álló erőforrásokat jobban is ki lehet használni. De ezeket a folyamatokat is lehetett jobban párhuzamosítani. A Quantum(külső hivatkozás) projekt elsődleges célja, hogy a elérhetővé tegye az erős párhuzamosságra és memóriabiztonságra kihegyezett Rust(külső hivatkozás) nyelven íródott, fejlesztői állapotú Servo(külső hivatkozás) böngészőmotor komponenseit a végfelhasználóknak szánt Firefox böngészőben.

A Firefox fejlesztői külön szálba fejtették át a böngészőmotor grafikus leképzőjét. A központi rész szétbontásával a grafikus megjelenítés elemei külön folyamatba kerültek. Ez a rész felelős annak eldöntéséért, hogy mi az, ami a képernyőn egy oldalból látszani fog, valamint ennek leképzéséért is. Ez úgy lehet elképzelni, ahogy egy több réteget tartalmazó képet a képszerkesztő egymásra lapít egyetlen képre. A modern idők elvárásainak megfelelően a Quantum Compositor(külső hivatkozás) már elsődlegesen GPU-t használ erre a feladatra, villámgyorsan. A Firefox 53-as(külső hivatkozás) verziójában megjelenő újdonságot, hasonló szellemben(külső hivatkozás) a párhuzamosított CSS leképző, a Stylo(külső hivatkozás) követte. Ekkor, a Firefox 57-es verziójával vette fel a Firefox Quantum(külső hivatkozás) nevet. A Stylo feladata a HTML kódra aggatott CSS dekorációk párhuzamos leképzése.

A most megjelent Firefox 60 újdonsága, hogy a már említett szétválasztott tartalmi és alkalmazási folyamatokban az alkalmazás oldalon is a Quantum CSS(külső hivatkozás), azaz a Stylo elnevezésű fejlesztés(külső hivatkozás) jeleníti meg a formázásokat. A mobilos verzió újdonsága, hogy bevezeti a Quantum CSS használatát a mobil platformokon is.

Az elmúlt verziók fontos újdonsága volt még a Off-Main-Thread Painting (OMTP) fejlesztés, aminek célja a rajzolás folyamatának külön szálba történő kiszervezése. Maga az elemek összegyűjtése, rétegekbe szervezése, a rétegek leképzése és a rétegek egy képpé történő összeállítása nagyon teljesítményigényes feladat. A régi megoldásban ez így valósult meg:

Ennek a komplikált feladatnak az elvégzésére 16ms idő van, ha a Firefox fejlesztői által megcélzott 60 FPS sebességet tartani szeretnék. És akkor meg ebbe az időbe bele kell férnie a JavaScript-kódok futtatásának, a felhasználói események feldolgozásának, a JavaScript szemétgyűjtésén kívül számos más feladatnak is.

Mint az látható a végső leképzés már független szálként fut, de a folyamatok közül például a rajzolás még több erőforrást köthet le. Különösen akkor ha a felbontást növeljük a kor elvárásainak megfelelően a 4K irányába.

A gyakorlatban a régi elrendezésben sokkal tovább tartott míg egy képkocka teljesen elkészült. Ha ez az idő hosszabb volt, mint a VSYNC-ek különbsége, akkor az a képkocka nem változik, megakasztva a folyamatos animációkat.

 

Ha azonban a raszterizálás, az OMTP-nek köszönhetően, aszinkron módon kerül elvégzésre, akkor a két előkészítő tevékenység mellett már, a következő képkocka előkészítésével egy időben elkezdődhet a leképzés. Ahogy ez elkészül már a következő kijelző szinkronizációnál indulhat is az elkészült kép megjelenítése. Ezzel sokkal folyamatosabb lesz a böngészőben megjelenített webtartalom.

Ezt jól példázza a következő két, Mozilla által végzett mérés is, amelyen látható, hogy a Firefox 57 és 58 verzióját összehasonlítva mennyit csökkent a raszterizálás költsége egy a teljes folyamat során.

A diagramokból látható, hogy az „olcsó” raszterizálás – amely a teljes folyamatból nagyjából 10%-ot emészt fel a Firefox 57 verziójában az esetek 51%-ban történik meg, míg a Firefox 58 esetén ez az érték már 80%. Ugyanígy a 50%-nál nagyobb raszterizálási költség 20%-ról 4%-ra esett.

A fentiek hatására a másodpercenként megjelenített képkockák száma is jelentősen (25-30%) megnőtt.

További érdekességek a raszterizálásról itt találhatóak.(külső hivatkozás)

De a munka itt nem áll meg! A Mozilla mérnökei dolgoznak a WebRender Firefoxban történő integrálásán is. A Servo-ból származtatott szintén Rust nyelven írt komponens Quatum Render néven érkezik majd a Firefoxba. A WebRender célja, hogy a raszterizálást és kompozitálást, azaz a leképzési folyamat utolsó két lépcsőjét teljesen új alapokra helyezze. Az elkészült alrendszer egy modern számítógépes játék megjelenítéséi technológiáit építi be a böngészők világába. Ezzel a terhelés nagy része a GPU-ra hárul majd, megteremtve a lehetőségét, hogy a böngésző a folyamatos megjelenítést biztosító 60 FPS-t minden körülmények között tarthassa. Erre a példa:

De a WebRender nem csak az általános böngészési feladatokban tesz majd jó szolgálatot, hanem a WebVR esetében a szükséges 4K felbontás melletti 90 FPS elérésében is. A WebRender korai verziója már a Nightly-ban(külső hivatkozás) be is kapcsolható az about:config oldalon. Az érdeklődők a fejlesztés nyomon követhetik a GitHub (külső hivatkozás)tárolóban(külső hivatkozás) és a Firefox Nightly Twitte(külső hivatkozás)r csatornáján(külső hivatkozás).

Ebben a cikkben részletes leírás található a WebRender vívmányairól.(külső hivatkozás)

A CPU így már leginkább csak menedzselni fogja a kép rajzolását, és kompozitálását. A weboldal alapján a CPU összeállítja a szükséges feladatkötegeket, amelyet a GPU fog elvégezni. A GPU ezután a CPU-nál sokkal gyorsabban előállítja a tartalom alapján böngészőben megjelenítendő képet. A nagyobb sebesség a GPU-ban lévő hatalmas párhuzamosításból, a nem látható és egymás fedő területek okos eltávolításából és a rajzolási parancsok összevonásából és kötegelt átadásából származik.

Összefoglalva tehát a Firefox a pár évvel ezelőtti fő szálban történő leképzéstől:

már eljutott oda, hogy a leképzés utolsó két fázisa már külön folyamatban van, és 2018-ra a WebRender lévén eljut oda, hogy a rajzolás és kompozitálás nagy részben GPU-n fut majd:

(Kimarad egyelőre a betűkészletek leképzése, mert az a jelenlegi helyzeteben szebben jelenik meg CPU-n elkészítve, de erre is készül megoldás a Pathfinder projekten(külső hivatkozás) belül.)

Hogy tetszik az új felület?

Mindeközben a felhasználói felület is megújult, melynek neve Photon(külső hivatkozás) és visszatérvén az Australis előtti időkhöz ismét szögletesebbé vált a formanyelv.

Az új felületben a a gombok mérete is szabályozható, és az igényeknek megfelelően áthelyezhetők az eszköztárak gombjai.

A Firefox 60-ban újdonság még

Letöltés

A legújabb Firefox, továbbra is Windows, Linux és macOS operációs rendszerekre tölthető le(külső hivatkozás), szokás szerint magyar nyelven is. A most kiadott verzió fejlesztéseiről a kiadási megjegyzések(külső hivatkozás)ben lehet olvasni.

Frissült az androidos Firefox(külső hivatkozás) is, amelyről szintén közzétettek kiadási megjegyzéseket(külső hivatkozás) a fejlesztők.

A Firefox ESR – hosszan támogatott – verziója letölthető innen(külső hivatkozás).

A böngészőplatformot érintő változások szintén részei az androidos kiadásnak. Teljes változáslista(külső hivatkozás).

Összefogalás

A Firefox nagyon sokat fejlődött az elmúlt 2-3 évben. Ez a fejlődés felgyorsult a Servo projekt fejlesztéseinek beépítésével. A Firefox Quantum lényegében ezt a hatalmas munkát fogja össze mind mérnöki, mind marketing szempontból. A böngésző elemeinek elemről-elemre történő kicserélésével a szemünk előtt apránként egy új, modern böngésző alakul ki. Amely minden szempontból megfelel a kor elvárásainak, mert kihasználja a napjainkban elérhető hardverek teljes képességeit. Ezek a fejlesztések nem csak a weboldalak gyorsabb megjelenésében köszönnek vissza, hanem a Firefox sokat kritizált mikroakadásait is kiküszöböli.

Mindeközben szem előtt tartja a felhasználó személyes szférájának védelmét és olyan eszközökkel védi azt, mint a követésvédelem (Tracking Protection), a konténerek (Facebook, internetes bankolás és egyéb tevékenységek különválasztását) és a sütik jobb kezelése. A megújult felület is kezesebb és gyorsabb.

Azt gondolom, ha mostanában az Olvasók nem is használták a Firefox-ot, érdemes egy újabb kísérletet tenni vele. A Firefox gyorsabb, szebb és kezesebb lett, és örömömre szolgál, hogy egyre többen kezdik használni ismét a környezetemben. Ahogy az a nagy Mozilla könyvben (about:mozilla) is világ tudtára lett adva:

A Fenevad felöltötte új gúnyáját, és tanulmányozta az Idő, a Tér és a Fény útjait, és az energia Áramlását az Univerzumon keresztül. A tanulmányait használva, a Fenevad oxidált fémből új szerkezeteket alkotott, és kinyilatkoztatta azok dicsőségét. És a Fenevad követői örvendtek, új célt találva ezekben a tanításokban.

Mozilla könyve, 11:14

Hozzászólások

kimarite képe

Szeretem és sokat használtam a vállalati verziót is ..

Értékelés: 

0
Még nincs értékelve

Most a main verzióval van néha olyan, hogy az egér (tapipad) jobb klikk, megnyitás ... (valahogy) nagyon érzékeny, rögtön kiválasztja valamelyik menüt. De ez a Cinnamon instable PPA csomagok miatt lehet szerintem. Két napja. Ha folyamatosan nyomom a tapipad 'egér jobb gombos' billentyűt, a megoldja, de kicsit fárasztó. Kijöhetne már a Linux Mint 19. :)