Magyar Opera

Fejlődő Carakan (b1020)

Amint azt már bizonyára sokan felfedeztétek, még csütörtökön megjelent egy új előzetes az Opera következő, 12-es verziójából. Úgy tűnik, egyikünk sem ért rá igazán, hogy foglalkozzon vele, de az újítások jelentősebbek annál, hogy egyáltalán ne emlékezzünk meg róluk. Teljes változási közlemény nem lesz, azt a Desktop Team bejegyésében lehet elolvasni, itt most csak a lényegi dolgokra koncentrálok.

Alapvetően két fontos változást emelnék ki. Az egyik a renderelő motor, azon belül is az elemek pozícionálásáért (precízebben: a koordináta-kezelésért) felelős megoldás frissülése. Nem kell itt teljes újraírásra gondolni, de számos régóta létező limitet sikerült eltörölniük a fejlesztőknek, ami elviekben segíthet egyes problémás oldalak helyes megjelenítésében.

Jelen esetben a varázsszám a 2 tizenötödik hatványa, azaz a 32768. Ez volt ugyanis számos belső paraméter felső limitje. Ide sorolhatók az in-line blokk magassága, pozíció eltolások, blokk szélességek és egyéb technikai paraméterek. Ezek a korlátok jelenleg is több népszerű oldalon okoztak problémákat, például a Gmail-en vagy a Google Maps-on, eltörlésük (azaz kitolásuk) tehát igencsak örömteli esemény.

Ezen túl még mintegy kéttucatnyi igazítással kapcsolatos problémát kezeltek, így olyan régi bugokat is sikerült kiiktatniuk, mint a CORE 203, 2520, 3472, 4171, 4766, vagy éppen a 6066 (a jelenlegi sorszám bőven 40 ezer környékén jár).

A másik örömteli változtatás az Opera JavaScript motorját, a Carakant érinti. Bizonyára vannak közöttetek olyanok, akik még emlékeznek a Carakannal kapcsolatban megjelent operás cikkekre. Egészen konkrétan a Carakan újratöltve nevezetűre, amit itt a blogon is olvashattatok.

Ennek egyik jövőre vonatkozó ígérete egy hatékonyabb objektum-ábrázolási eljárás kifejlesztése volt. Örömmel jelenthetem, hogy a technika a mostani előzetesben debütál. A változtatást így foglalták össze a fejlesztők:

A Carakan motor automatikus osztályokat alkalmaz az objektumok típusának és tulajdonságainak tárolására. A közelmúltban kibővítettük ezek képességeit, így már a az objektumok elrendezését (formáját) is tárolni tudják. Így csökkenteni tudtuk az objektumonkénti többletterhelést (overhead), miközben jobb JIT-kód generálást tettünk lehetővé. A mostani kiadás célja ennek a fejlettebb, kompakt objektummodellnek a bemutatása, néhány apróbb fejlesztés segítségével, de mág sok újdonság várható.

Összefoglalva: az új modell mind a memóriafoglalásra, mind a JavaScript végrehajtás sebességére jó hatással van, előbbi átlagosan 6-7%-al javul (csak a JS kódra és nem a teljes memóriahasználatra vonatkozóan!), utóbbiról nincsenek konkrét számok. Gyors méréseim enyhe gyorsulást mutatnak, de azt sem minden esetben. A JS memória fogyasztást az érdeklődők az opera:memdebug oldalon ellenőrizhetik.

Nagyjából ez az a két újítás, amiért érdemes kipróbálni ezt az előzetest. A fejlesztők kérték, hogy a sok Core változtatás okán a korábbiaknál több és alaposabb visszajelzést küldjünk nekik, valamint figyelmeztetnek, hogy az újítás néhány regressziót is előidézhet.

A fentieken túl megkaptuk a szokásos hibajavítási és stabilitás-növelő változtatásainkat is, ennek ellenére az a tapasztalat, hogy instabilitásra hajlamos ez kiadás, senkinek sem javasoljuk, hogy élesben használja! Letölteni a szokásos, jobb oldalt megtalálható linkről tudjátok.

süti beállítások módosítása