Etenemissuunnitelma Wayland-tuen parantamiseksi Firefoxissa

Martin Stransky, Firefox-pakettien ylläpitäjä Fedoralle ja RHEL:lle, joka siirtää Firefoxin Waylandiin, julkaisi raportin, jossa tarkastellaan Wayland-protokollapohjaisissa ympäristöissä toimivan Firefoxin viimeisintä kehitystä.

Firefoxin tulevissa julkaisuissa on tarkoitus ratkaista Waylandin koonnuksissa havaitut ongelmat leikepöydän ja ponnahdusikkunoiden käsittelyn kanssa. Näitä ominaisuuksia ei voitu ottaa heti käyttöön, koska niiden toteuttamisessa on eroja X11:ssä ja Waylandissa. Ensimmäisessä tapauksessa vaikeuksia ilmeni Wayland-leikepöydän asynkronisesta toiminnasta, mikä vaati erillisen kerroksen luomisen Wayland-leikepöydälle pääsyn abstraktistamiseksi. Määritetty kerros lisätään Firefox 93:een ja otetaan oletusarvoisesti käyttöön Firefox 94:ssä.

Ponnahdusikkunoiden osalta suurin vaikeus oli, että Wayland vaatii tiukkaa ponnahdusikkunoiden hierarkiaa, ts. ylätason ikkuna voi luoda ponnahdusikkunan sisältävän alatason ikkunan, mutta siitä ikkunasta käynnistetyn seuraavan ponnahdusikkunan on sitouduttava alkuperäiseen ali-ikkunaan muodostaen ketjun. Firefoxissa jokainen ikkuna saattoi synnyttää useita ponnahdusikkunoita, jotka eivät muodostaneet hierarkiaa. Ongelmana oli, että Waylandia käytettäessä yhden ponnahdusikkunoiden sulkeminen vaatii koko ikkunaketjun uudelleenrakentamisen muiden ponnahdusikkunoiden kanssa huolimatta siitä, että useiden avoimien ponnahdusikkunoiden esiintyminen ei ole harvinaista, koska valikot ja ponnahdusikkunat toteutetaan ponnahdusikkunoiden muodossa. ponnahdusikkunoiden työkaluvihjeitä, lisäosien valintaikkunoita, lupapyyntöjä jne. Tilannetta vaikeuttivat myös Waylandin ja GTK:n puutteet, joiden vuoksi pienet muutokset saattoivat johtaa erilaisiin regressioihin. Waylandin ponnahdusikkunoiden käsittelyyn käytettävä koodi on kuitenkin korjattu, ja sen on tarkoitus sisällyttää Firefox 94:ään.

Muita Waylandiin liittyviä parannuksia ovat 93 skaalausmuutoksen lisääminen Firefoxiin eri DPI-näytöissä, jotka eliminoivat välkkymisen siirrettäessä ikkunaa näytön reunaan usean näytön kokoonpanoissa. Firefox 95 aikoo korjata ongelmia, joita ilmenee vedä ja pudota -käyttöliittymää käytettäessä, esimerkiksi kopioitaessa tiedostoja ulkoisista lähteistä paikallisiin tiedostoihin ja siirrettäessä välilehtiä.

Firefox 96:n julkaisun myötä Waylandin Firefox-portin toiminnallisuus suunnitellaan saavan samalle tasolle X11-koontiversion kanssa, ainakin käytettäessä Fedoran GNOME-ympäristöä. Tämän jälkeen kehittäjien huomio siirtyy työn hiomiseen Wayland-ympäristöissä GPU-prosessissa, joka sisältää koodin vuorovaikutukseen näytönohjainten kanssa ja joka suojaa pääselainprosessia kaatumiselta ajurivikojen sattuessa. GPU-prosessiin on suunniteltu myös koodia videon dekoodaukseen VAAPI:lla, jota tällä hetkellä ajetaan sisällönkäsittelyprosesseissa.

Lisäksi voimme huomioida tiukan sivuston eristystilan sisällyttämisen, joka on kehitetty osana Fission-projektia, pienelle osuudelle Firefoxin vakaiden haarojen käyttäjistä. Toisin kuin tällä hetkellä käytössä oleva mielivaltainen välilehtien käsittelyn jakautuminen käytettävissä olevan prosessivalikoiman kesken (oletusarvoisesti 8), eristysrivitila asettaa kunkin sivuston käsittelyn omaan erilliseen prosessiinsa, jota ei eroteta välilehdillä, vaan toimialueittain (julkinen pääte ), joka mahdollistaa ulkoisten komentosarjojen ja iframe-lohkojen lisäeristyksen sisällön. Fission-tilan käyttöönottoa ohjataan muuttujan "fission.autostart=true" kautta about:config tai about:preferences#experimental-sivulla.

Tiukka eristystila auttaa suojautumaan sivukanavahyökkäyksiltä, ​​kuten Spectre-haavoittuvuuksiin liittyviltä hyökkäyksiltä, ​​ja vähentää myös muistin pirstoutumista, palauttaa muistia tehokkaammin käyttöjärjestelmään, minimoi roskien keräämisen ja intensiivisten laskelmien vaikutuksen sivuille muissa prosesseissa ja lisää kuormituksen jakautumisen tehokkuutta eri prosessoriytimien välillä ja lisää vakautta (iframea käsittelevän prosessin kaatuminen ei vaikuta pääsivustoon ja muihin välilehtiin).

Tunnetuista ongelmista, joita esiintyy tiukan eristystilan käytössä, on huomattava muistin ja tiedostokuvaajan kulutuksen kasvu, kun avataan suuri määrä välilehtiä, sekä joidenkin lisäosien toiminta häiriintyy, iframe-sisällön katoaminen, kun tulostaminen ja kuvakaappaustallennustoiminnon kutsuminen, iframe-dokumenttien välimuistin tehokkuuden heikkeneminen, täytettyjen mutta lähettämättömien lomakkeiden sisällön katoaminen, kun istunto palautetaan kaatumisen jälkeen.

Muita Firefoxin muutoksia ovat Fluent-lokalisointijärjestelmään siirtymisen loppuunsaattaminen, High Contrast Mode -tilan parannukset, mahdollisuuden tallentaa prosessien suorituskykyprofiilit yhdellä napsautuksella about:processes -sovellukseen ja vanhan palauttamisasetuksen poistaminen. uuden välilehden sivun tyyliin, jota käytettiin ennen Firefox 89:ää.

Lähde: opennet.ru

Lisää kommentti