نقشه راه برای بهبود پشتیبانی Wayland در فایرفاکس

Martin Stransky، نگهدارنده بسته فایرفاکس برای فدورا و RHEL که در حال انتقال فایرفاکس به Wayland است، گزارشی را منتشر کرد که آخرین پیشرفت‌های فایرفاکس را که در محیط‌های مبتنی بر پروتکل Wayland اجرا می‌شود، مرور کرد.

در نسخه های بعدی فایرفاکس، قرار است مشکلات مشاهده شده در بیلدهای Wayland با کلیپ بورد و مدیریت پاپ آپ ها حل شود. این ویژگی‌ها به دلیل تفاوت در رویکرد پیاده‌سازی آن‌ها در X11 و Wayland نمی‌توانند بلافاصله پیاده‌سازی شوند. در مورد اول، مشکلات به دلیل اجرای ناهمزمان کلیپ بورد Wayland به وجود آمد که نیاز به ایجاد یک لایه جداگانه برای دسترسی انتزاعی به کلیپ بورد Wayland داشت. لایه مشخص شده به فایرفاکس 93 اضافه می شود و به طور پیش فرض در فایرفاکس 94 فعال می شود.

در مورد دیالوگ های پاپ آپ، مشکل اصلی این بود که Wayland به یک سلسله مراتب دقیق از پنجره های پاپ آپ نیاز دارد، یعنی. یک پنجره والد می تواند یک پنجره فرزند با یک پنجره بازشو ایجاد کند، اما پنجره بازشوی بعدی که از آن پنجره شروع می شود باید به پنجره فرزند اصلی متصل شود و یک زنجیره را تشکیل دهد. در فایرفاکس، هر پنجره می تواند چندین پاپ آپ ایجاد کند که سلسله مراتبی را تشکیل نمی دهند. مشکل این بود که هنگام استفاده از Wayland، بستن یکی از پاپ‌آپ‌ها مستلزم بازسازی کل زنجیره پنجره‌ها با پنجره‌های دیگر است، علی‌رغم این واقعیت که وجود چندین پنجره بازشو غیرعادی نیست، زیرا منوها و پاپ‌آپ‌ها به شکل نکات ابزار بازشو، دیالوگ های افزودنی، درخواست های مجوز و غیره. وضعیت همچنین به دلیل نقص در Wayland و GTK پیچیده شد که به دلیل آن تغییرات کوچک می تواند منجر به رگرسیون های مختلف شود. با این حال، کد مدیریت پاپ آپ ها برای Wayland اشکال زدایی شده است و قرار است در فایرفاکس 94 گنجانده شود.

سایر پیشرفت‌های مرتبط با Wayland شامل اضافه شدن 93 تغییر مقیاس‌بندی به فایرفاکس در صفحه‌های مختلف DPI است که هنگام جابجایی پنجره به لبه صفحه در تنظیمات چند مانیتور، سوسو زدن را از بین می‌برد. فایرفاکس 95 قصد دارد مشکلاتی را که هنگام استفاده از رابط کشیدن و رها کردن، به عنوان مثال، هنگام کپی کردن فایل ها از منابع خارجی به فایل های محلی و هنگام جابجایی برگه ها، ایجاد می شود، برطرف کند.

با انتشار فایرفاکس 96، درگاه فایرفاکس برای Wayland برنامه ریزی شده است که به طور کلی از نظر عملکرد با ساخت X11 برابری کند، حداقل زمانی که در محیط GNOME فدورا اجرا می شود. پس از این، توجه توسعه‌دهندگان به بهبود کار در محیط‌های Wayland از فرآیند GPU معطوف می‌شود که حاوی کدی برای تعامل با آداپتورهای گرافیکی است و فرآیند اصلی مرورگر را از خراب شدن در صورت خرابی درایور محافظت می‌کند. فرآیند GPU همچنین شامل کدهایی برای رمزگشایی ویدیو با استفاده از VAAPI است که در حال حاضر در فرآیندهای پردازش محتوا اجرا می شود.

علاوه بر این، می‌توانیم به گنجاندن یک حالت جداسازی سایت دقیق، که به عنوان بخشی از پروژه Fission توسعه یافته است، برای درصد کمی از کاربران شاخه‌های پایدار فایرفاکس اشاره کنیم. بر خلاف توزیع دلخواه پردازش برگه‌ها در حال حاضر در مجموعه پردازش‌های موجود (۸ به‌طور پیش‌فرض)، حالت خط جداسازی پردازش هر سایت را در فرآیند جداگانه‌ای قرار می‌دهد که نه توسط برگه‌ها، بلکه بر اساس دامنه (پسوند عمومی) از هم جدا شده است. ) که به محتویات جداسازی اضافی اسکریپت های خارجی و بلوک های iframe اجازه می دهد. فعال کردن حالت Fission از طریق متغیر "fission.autostart=true" در about:config یا در صفحه about:preferences#experimental کنترل می شود.

حالت جداسازی دقیق به محافظت در برابر حملات کانال جانبی مانند حملات مرتبط با آسیب‌پذیری‌های Spectre کمک می‌کند و همچنین تکه تکه شدن حافظه را کاهش می‌دهد، حافظه را با کارایی بیشتری به سیستم عامل برمی‌گرداند، تأثیر جمع‌آوری زباله و محاسبات فشرده را بر روی صفحات در سایر فرآیندها به حداقل می‌رساند، و راندمان توزیع بار در هسته‌های مختلف CPU را افزایش می‌دهد و پایداری را افزایش می‌دهد (خرابی فرآیند پردازش iframe روی سایت اصلی و سایر برگه‌ها تأثیر نمی‌گذارد).

از جمله مشکلات شناخته شده ای که هنگام استفاده از حالت جداسازی دقیق ایجاد می شود، افزایش قابل توجه مصرف حافظه و توصیف کننده فایل هنگام باز کردن تعداد زیادی برگه و همچنین اختلال در کار برخی از افزونه ها، ناپدید شدن محتوای iframe در هنگام باز شدن چاپ و فراخوانی عملکرد ضبط اسکرین شات، کاهش کارایی ذخیره اسناد از iframe، از دست دادن محتویات فرم های تکمیل شده اما ارسال نشده در هنگام بازیابی یک جلسه پس از خرابی.

از دیگر تغییرات فایرفاکس می‌توان به تکمیل انتقال به سیستم محلی‌سازی فلوئنت، بهبود حالت کنتراست بالا، اضافه شدن قابلیت ضبط پروفایل‌های عملکرد فرآیند با یک کلیک به about:processes و حذف تنظیماتی برای بازگرداندن حالت قبلی اشاره کرد. سبک صفحه برگه جدید که قبل از فایرفاکس 89 استفاده می شد.

منبع: opennet.ru

اضافه کردن نظر