Firefox-та Wayland қолдауын жақсартуға арналған жол картасы

Firefox-ты Wayland-қа тасымалдайтын Fedora және RHEL үшін Firefox пакетін сақтаушы Мартин Странский Wayland протоколына негізделген орталарда жұмыс істейтін Firefox-тың соңғы әзірлемелерін қарастыратын есепті жариялады.

Firefox-тың алдағы шығарылымдарында Wayland құрастыруларында байқалған мәселелерді алмасу буферімен және қалқымалы терезелерді өңдеумен шешу жоспарлануда. Бұл мүмкіндіктерді X11 және Wayland жүйесінде жүзеге асыру тәсілдерінің айырмашылығына байланысты бірден іске асыру мүмкін болмады. Бірінші жағдайда, Wayland алмасу буферінің асинхронды жұмыс істеуіне байланысты қиындықтар туындады, бұл Wayland алмасу буферіне дерексіз қол жеткізу үшін бөлек қабат құруды талап етті. Көрсетілген қабат Firefox 93 жүйесіне қосылады және әдепкі бойынша Firefox 94 жүйесінде қосылады.

Қалқымалы диалогтарға келетін болсақ, негізгі қиындық Wayland қалқымалы терезелердің қатаң иерархиясын талап ететіндігі болды, яғни. ата-аналық терезе қалқымалы тереземен еншілес терезені жасай алады, бірақ сол терезеден басталатын келесі қалқымалы терезе тізбекті құра отырып, бастапқы еншілес терезеге қосылуы керек. Firefox-та әрбір терезе иерархияны құрмайтын бірнеше қалқымалы терезелерді шығара алады. Мәселе мынада: Wayland пайдаланған кезде қалқымалы терезелердің бірін жабу терезелердің барлық тізбегін басқа қалқымалы терезелермен қайта құруды талап етеді, бірақ бірнеше ашық қалқымалы терезелердің болуы сирек емес, өйткені мәзірлер мен қалқымалы терезелер келесі түрде жүзеге асырылады: қалқымалы құралдар кеңестері, қосымша диалогтық терезелер, рұқсат сұраулары және т.б. Жағдай сондай-ақ Wayland және GTK кемшіліктерімен қиындады, соның салдарынан шағын өзгерістер әртүрлі регрессияларға әкелуі мүмкін. Дегенмен, Wayland үшін қалқымалы терезелерді өңдеу коды жөнделді және оны Firefox 94 жүйесіне қосу жоспарлануда.

Wayland-қа қатысты басқа жақсартулар әртүрлі DPI экрандарындағы Firefox-қа 93 масштабтау өзгертулерін қосуды қамтиды, бұл көп монитор конфигурацияларында терезені экранның шетіне жылжытқанда жыпылықтауды болдырмайды. Firefox 95 апарып тастау интерфейсін пайдалану кезінде, мысалы, файлдарды сыртқы көздерден жергілікті файлдарға көшіру және қойындыларды жылжыту кезінде туындайтын мәселелерді шешуді жоспарлайды.

Firefox 96 шығарылымымен Wayland үшін Firefox портын кем дегенде Fedora GNOME ортасында жұмыс істегенде X11 құрастыруымен функционалдық паритетке жеткізу жоспарлануда. Осыдан кейін әзірлеушілердің назары графикалық адаптерлермен әрекеттесу кодын қамтитын және драйвер ақаулары кезінде негізгі шолғыш процесін бұзылудан қорғайтын GPU процесінің Wayland орталарында жұмысты жақсартуға аударылады. GPU процесінде қазіргі уақытта мазмұнды өңдеу процестерінде іске қосылған VAAPI көмегімен бейне декодтау кодын қосу жоспарлануда.

Сонымен қатар, Firefox-тың тұрақты тармақтарын пайдаланушылардың аз ғана пайызы үшін Fission жобасының бөлігі ретінде әзірленген сайтты қатаң оқшаулау режимінің енгізілгенін атап өтуге болады. Осы уақытқа дейін пайдаланылған қол жетімді технологиялық пул бойынша (әдепкі бойынша 8) қойындыны өңдеуді еркін бөлуден айырмашылығы, оқшаулау сызығы режимі әрбір сайтты өңдеуді қойындылармен емес, домен бойынша (жалпыға ортақ Суффикс), ол сыртқы сценарийлер мен iframe блоктарының қосымша оқшаулау мазмұнына мүмкіндік береді. Бөлу режимін қосу about:config немесе about:preferences#experimental бетіндегі "fission.autostart=true" айнымалысы арқылы басқарылады.

Қатаң оқшаулау режимі Spectre осалдықтарымен байланысты сияқты бүйірлік арналық шабуылдардан қорғауға көмектеседі, сонымен қатар жадтың фрагментациясын азайтады, жадты операциялық жүйеге тиімдірек қайтарады, қоқыс жинаудың және басқа процестердегі беттерге қарқынды есептеулердің әсерін азайтады және әртүрлі процессорлық ядролар бойынша жүктемені бөлу тиімділігін арттырады және тұрақтылықты арттырады (iframe өңдеу процесінің бұзылуы негізгі сайтқа және басқа қойындыларға әсер етпейді).

Қатаң оқшаулау режимін пайдалану кезінде туындайтын белгілі мәселелердің арасында көптеген қойындыларды ашқан кезде жад пен файл дескрипторын тұтынудың айтарлықтай артуы, сонымен қатар кейбір қондырмалардың жұмысының бұзылуы, iframe мазмұнының жоғалуы бар. скриншотты жазу функциясын басып шығару және шақыру, iframe жүйесінен құжаттарды кэштеу тиімділігінің төмендеуі, бұзылудан кейін сеанс қалпына келтірілгенде толтырылған, бірақ жіберілмеген пішіндердің мазмұнын жоғалту.

Firefox-тағы басқа өзгерістерге Fluent локализация жүйесіне көшіруді аяқтау, Жоғары контраст режиміне жақсартулар, процесс өнімділігі профильдерін бір рет басу арқылы about:processes жазу мүмкіндігін қосу және ескі файлды қайтару үшін параметрді жою кіреді. Firefox 89 нұсқасына дейін пайдаланылған жаңа қойынды бетінің стилі.

Ақпарат көзі: opennet.ru

пікір қалдыру