Патоказ за подобрување на поддршката на Wayland во Firefox

Мартин Странски, одржувач на пакети на Firefox за Fedora и RHEL, кој го пренесува Firefox на Wayland, објави извештај во кој ги разгледува најновите случувања во Firefox што работи во средини базирани на протокол на Wayland.

Во претстојните изданија на Firefox, се планира да се решат проблемите забележани во изданија за Wayland со таблата со исечоци и ракување со скокачки прозорци. Овие карактеристики не можеа веднаш да се имплементираат поради разликите во пристапот кон нивната имплементација во X11 и Wayland. Во првиот случај, тешкотиите настанаа поради таблата со исечоци на Вејленд што работи асинхроно, што бараше создавање на посебен слој за апстрактен пристап до таблата со исечоци на Вејланд. Наведениот слој ќе биде додаден на Firefox 93 и стандардно овозможен во Firefox 94.

Во однос на скокачките дијалози, главната тешкотија беше што Вејленд бара строга хиерархија на скокачки прозорци, т.е. родителскиот прозорец може да создаде детски прозорец со скокачки прозорец, но следниот скокачки прозорец инициран од тој прозорец мора да се поврзе со оригиналниот детски прозорец, формирајќи синџир. Во Firefox, секој прозорец може да создаде неколку скокачки прозорци кои не формираат хиерархија. Проблемот беше што при користење на Wayland, затворањето на еден од скокачките прозорци бара обнова на целиот синџир на прозорци со други скокачки прозорци, и покрај фактот што присуството на неколку отворени скокачки прозорци не е невообичаено, бидејќи менијата и скокачките прозорци се имплементираат во форма на скокачки совети за алатки, дијалози за додатоци, барања за дозволи итн. Ситуацијата беше искомплицирана и со пропусти во Wayland и GTK, поради што малите промени може да доведат до разни регресии. Сепак, кодот за ракување со скокачки прозорци за Wayland е дебагиран и се планира да биде вклучен во Firefox 94.

Други подобрувања поврзани со Wayland вклучуваат додавање на 93 промени за скалирање на Firefox на различни DPI екрани, кои го елиминираат треперењето при поместување на прозорецот до работ на екранот во конфигурации со повеќе монитори. Firefox 95 планира да ги реши проблемите што се појавуваат при користење на интерфејсот за влечење и спуштање, на пример, при копирање датотеки од надворешни извори во локални датотеки и при преместување јазичиња.

Со објавувањето на Firefox 96, пристаништето за Firefox за Wayland се планира да се доведе до севкупна еднаквост во функционалноста со верзијата X11, барем кога работи во GNOME околината на Fedora. После ова, вниманието на програмерите ќе биде префрлено на усовршување на работата во средини на Wayland на процесот на графичкиот процесор, кој содржи код за интеракција со графички адаптери и кој го штити главниот процес на прелистувачот од паѓање во случај на дефект на возачот. Процесот на графичкиот процесор, исто така, се планира да вклучи код за декодирање на видео со помош на VAAPI, кој моментално се извршува во процесите за обработка на содржина.

Дополнително, можеме да забележиме вклучување на строг режим на изолација на локацијата, развиен како дел од проектот Fission, за мал процент од корисници на стабилните гранки на Firefox. За разлика од произволната дистрибуција на обработка на јазичиња низ достапниот базен на процеси (8 стандардно), користен досега, режимот на линијата за изолација ја става обработката на секоја локација во свој посебен процес, разделен не со јазичиња, туку по домен (Јавно Суфикс), што овозможува дополнителна изолација на надворешни скрипти и блокови на iframe. Овозможувањето на режимот Fission се контролира преку променливата „fission.autostart=true“ во about:config или на страницата about:preferences#experimental.

Режимот на строга изолација помага да се заштити од напади на страничните канали, како што се оние поврзани со ранливости на Spectre, а исто така ја намалува фрагментацијата на меморијата, поефикасно ја враќа меморијата во оперативниот систем, го минимизира влијанието на собирањето ѓубре и интензивните пресметки на страниците во други процеси и ја зголемува ефикасноста на распределбата на оптоварувањето низ различни јадра на процесорот и ја зголемува стабилноста (падот на процесот што го обработува iframe нема да влијае на главната локација и другите јазичиња).

Меѓу познатите проблеми што се јавуваат при користење на режимот на строга изолација, забележително е зголемување на потрошувачката на меморија и дескриптори на датотеки при отворање голем број јазичиња, како и нарушување на работата на некои додатоци, исчезнување на содржината на iframe кога печатење и повикување на функцијата за снимање слики од екранот, намалена ефикасност на кеширање документи од iframe, Губење на содржината на пополнети, но не поднесени формулари кога сесијата се обновува по падот.

Другите промени во Firefox вклучуваат завршување на миграцијата до системот за локализација Fluent, подобрувања на режимот со висок контраст, додавање на способноста за снимање на профилите на перформансите на процесот со еден клик на за: процеси и отстранување на поставката за враќање на стариот стил на страницата со ново јазиче што се користеше пред Firefox 89.

Извор: opennet.ru

Додадете коментар