Firefox-ում Wayland-ի աջակցության բարելավման ճանապարհային քարտեզ

Մարտին Ստրանսկին՝ Fedora-ի և RHEL-ի Firefox փաթեթի սպասարկող, ով Firefox-ը տեղափոխում է Ուեյլենդ, հրապարակել է զեկույց՝ վերանայելով Firefox-ի վերջին զարգացումները, որոնք աշխատում են Wayland արձանագրության վրա հիմնված միջավայրերում:

Firefox-ի գալիք թողարկումներում նախատեսվում է լուծել Wayland-ի համար նախատեսված build-ներում նկատված խնդիրները՝ սեղմատախտակի և թռուցիկների մշակման հետ: Այս հատկանիշները չեն կարող անմիջապես իրականացվել X11-ում և Wayland-ում դրանց իրականացման մոտեցման տարբերությունների պատճառով: Առաջին դեպքում դժվարություններ առաջացան Wayland clipboard-ի ասինխրոն աշխատանքի պատճառով, որը պահանջում էր առանձին շերտ ստեղծել Wayland clipboard աբստրակտ հասանելիության համար։ Նշված շերտը կավելացվի Firefox 93-ին և լռելյայն միացված կլինի Firefox 94-ում:

Ինչ վերաբերում է թռուցիկ երկխոսություններին, հիմնական դժվարությունն այն էր, որ Wayland-ը պահանջում է բացվող պատուհանների խիստ հիերարխիա, այսինքն. ծնողական պատուհանը կարող է բացվող պատուհանով ստեղծել երեխայի պատուհան, սակայն այդ պատուհանից սկսված հաջորդ պատուհանը պետք է կապվի սկզբնական երեխայի պատուհանին` ձևավորելով շղթա: Firefox-ում յուրաքանչյուր պատուհան կարող է առաջացնել մի քանի թռուցիկներ, որոնք հիերարխիա չեն կազմում: Խնդիրն այն էր, որ Wayland-ից օգտվելիս թռուցիկներից մեկը փակելը պահանջում է պատուհանների ամբողջ շղթայի վերակառուցում այլ թռուցիկներով, չնայած այն հանգամանքին, որ մի քանի բաց թռուցիկների առկայությունը հազվադեպ չէ, քանի որ ընտրացանկերը և թռուցիկները իրականացվում են ձևով: թռուցիկ գործիքների հուշումներ, հավելումների երկխոսություններ, թույլտվության հարցումներ և այլն: Իրավիճակը բարդացնում էին նաև Wayland-ում և GTK-ում առկա թերությունները, որոնց պատճառով փոքր փոփոխությունները կարող էին հանգեցնել տարբեր հետընթացների։ Այնուամենայնիվ, Wayland-ի համար թռուցիկ պատուհանների մշակման կոդը կարգաբերվել է և նախատեսվում է ներառել Firefox 94-ում:

Wayland-ի հետ կապված այլ բարելավումները ներառում են Firefox-ի 93 մասշտաբային փոփոխությունների ավելացումը տարբեր DPI էկրանների վրա, որոնք վերացնում են թարթումը, երբ պատուհանը էկրանի եզրին տեղափոխում են բազմամոնիտորի կոնֆիգուրացիաներով: Firefox 95-ը նախատեսում է լուծել այն խնդիրները, որոնք առաջանում են քաշել և թողնել ինտերֆեյսի օգտագործման ժամանակ, օրինակ՝ ֆայլերը արտաքին աղբյուրներից տեղական ֆայլեր պատճենելիս և ներդիրները տեղափոխելիս:

Firefox 96-ի թողարկմամբ, Wayland-ի համար նախատեսված Firefox նավահանգիստը X11-ի հետ ֆունկցիոնալության ընդհանուր հավասարության է ծրագրվում, գոնե Fedora-ի GNOME միջավայրում աշխատելիս: Դրանից հետո ծրագրավորողների ուշադրությունը կուղղվի Wayland միջավայրում աշխատանքը կատարելագործելուն GPU պրոցեսը, որը պարունակում է գրաֆիկական ադապտերների հետ փոխազդեցության կոդ և որը պաշտպանում է բրաուզերի հիմնական պրոցեսը խափանումից վարորդի ձախողումների դեպքում: GPU գործընթացը նախատեսվում է ներառել նաև VAAPI-ի միջոցով տեսանյութերի վերծանման կոդ, որը ներկայումս գործարկվում է բովանդակության մշակման գործընթացներում:

Բացի այդ, մենք կարող ենք նշել կայքի մեկուսացման խիստ ռեժիմի ընդգրկումը, որը մշակվել է որպես Fission նախագծի մաս, Firefox-ի կայուն մասնաճյուղերի օգտվողների փոքր տոկոսի համար: Ի տարբերություն մինչ այժմ օգտագործված ներդիրների մշակման կամայական բաշխման (8 ըստ լռելյայն), մեկուսացման գծի ռեժիմը տեղադրում է յուրաքանչյուր կայքի մշակումը իր առանձին գործընթացում՝ առանձնացված ոչ թե ներդիրներով, այլ տիրույթով (Հանրային վերջածանց), որը թույլ է տալիս արտաքին սկրիպտների և iframe բլոկների լրացուցիչ մեկուսացման բովանդակություն: Fission ռեժիմը միացնելը վերահսկվում է «fission.autostart=true» փոփոխականի միջոցով about:config կամ about:preferences#experimental էջում:

Խիստ մեկուսացման ռեժիմն օգնում է պաշտպանվել կողային ալիքի հարձակումներից, ինչպիսիք են Spectre-ի խոցելիության հետ կապված հարձակումները, ինչպես նաև նվազեցնում է հիշողության մասնատումը, ավելի արդյունավետ կերպով վերադարձնում հիշողությունը օպերացիոն համակարգին, նվազագույնի է հասցնում աղբահանության և ինտենսիվ հաշվարկների ազդեցությունը այլ գործընթացների էջերի վրա և մեծացնում է բեռի բաշխման արդյունավետությունը CPU-ի տարբեր միջուկներում և մեծացնում կայունությունը (iframe-ի մշակման գործընթացի խափանումը չի ազդի հիմնական կայքի և այլ ներդիրների վրա):

Խիստ մեկուսացման ռեժիմի օգտագործման ժամանակ առաջացող հայտնի խնդիրների շարքում նկատելի է մեծ թվով ներդիրներ բացելիս հիշողության և ֆայլերի նկարագրիչի սպառման նկատելի աճ, ինչպես նաև որոշ հավելումների աշխատանքի խաթարում, iframe բովանդակության անհետացում, երբ սքրինշոթի ձայնագրման ֆունկցիայի տպում և կանչում, iframe-ից փաստաթղթերի քեշավորման արդյունավետության նվազում, լրացված, բայց չներկայացված ձևերի բովանդակության կորուստ, երբ նիստը վերականգնվում է խափանումից հետո:

Firefox-ի մյուս փոփոխությունները ներառում են միգրացիայի ավարտը դեպի Fluent տեղայնացման համակարգ, բարելավումներ High Contrast Mode-ում, գործընթացի կատարողականի պրոֆիլները մեկ սեղմումով գրանցելու հնարավորության ավելացումը about:processes-ին և հինը վերադարձնելու պարամետրի հեռացումը: նոր ներդիրի էջի ոճը, որն օգտագործվել է Firefox 89-ից առաջ:

Source: opennet.ru

Добавить комментарий