Розробники Ubuntu розпочали вирішення проблем із повільним запуском snap-пакету Firefox

Компанія Canonical почала вирішувати проблеми з продуктивністю snap-пакету з Firefox, який був запропонований за замовчуванням в Ubuntu 22.04 замість звичайного deb-пакета. Основне невдоволення користувачів пов'язане з повільним запуском Firefox. Наприклад, на ноутбуці Dell XPS 13 перший запуск Firefox після встановлення займає 7.6 секунд, на ноутбуці Thinkpad X240 – 15 секунд, а на платі Raspberry Pi 400 – 38 секунд. Повторні запуски виконуються вже за 0.86, 1.39 та 8.11 секунд відповідно.

У ході аналізу проблеми було виявлено 4 основні причини повільного запуску, вирішенню яких буде приділено основну увагу:

  • Високі накладні витрати при пошуку файлів усередині стиснутого образу squashfs, які особливо помітні на малопотужних системах. Проблему планується вирішити через угруповання вмісту для мінімізації операцій переміщення за образом під час запуску.
  • На Raspberry Pi і системах з GPU AMD великі затримки пов'язані зі збоєм щодо графічного драйвера і відкатом застосування програмної відмальовки з дуже повільною компіляцією шейдеров. Патч для вирішення проблеми вже додано до snapd.
  • Багато часу витрачалося на копіювання доданих до каталогу користувача. У snap-пакет було вбудовано 98 мовних пакетів, які копіювалися, незалежно від вибраної мови.
  • Затримки також виникали через визначення всіх доступних шрифтів, тем піктограм та конфігурацій шрифтів.

Під час запуску Firefox із snap також спостерігалися окремі проблеми з продуктивністю в процесі роботи, але розробниками Ubuntu вже підготовлені виправлення, що покращують продуктивність. Наприклад, починаючи з Firefox 100.0 під час збирання включені оптимізації на етапі зв'язування (LTO) та на основі результатів профілювання коду (PGO). Для вирішення проблем з обміном повідомленнями між Firefox та зовнішніми підсистемами підготовлено новий XDG Desktop Portal, підтримка якого знаходиться на стадії рецензування для включення до Firefox.

Як причини просування формату snap для браузерів відзначається бажання спростити супровід та уніфікувати розробку для різних версій Ubuntu — пакет deb потребує окремого супроводу для всіх підтримуваних гілок Ubuntu і, відповідно, складання та тестування з урахуванням різних версій системних компонентів, а пакет snap для всіх гілок Ubuntu. Понад те, пропонований в Ubuntu snap-пакет з Firefox супроводжують співробітники Mozilla, тобто. він формується із перших рук без посередників. Постачання у форматі snap також дозволило прискорити доведення нових версій браузера до користувачів Ubuntu і дозволило запускати Firefox в ізольованому оточенні, створеному за допомогою механізму AppArmor, для додаткового захисту решти системи від експлуатації вразливостей у браузері.

Джерело: opennet.ru

Додати коментар або відгук