Programiści Ubuntu zaczęli rozwiązywać problemy związane z powolnym uruchamianiem pakietu snap dla Firefoksa

Firma Canonical zaczęła rozwiązywać problemy z wydajnością za pomocą pakietu snap dla przeglądarki Firefox, który był domyślnie oferowany w systemie Ubuntu 22.04 zamiast zwykłego pakietu deb. Główne niezadowolenie użytkowników wiąże się z bardzo powolnym uruchamianiem Firefoksa. Przykładowo na laptopie Dell XPS 13 pierwsze uruchomienie Firefoksa po instalacji trwa 7.6 sekundy, na laptopie Thinkpad X240 – 15 sekund, a na płycie Raspberry Pi 400 – 38 sekund. Powtarzające się starty trwają odpowiednio 0.86, 1.39 i 8.11 sekundy.

Podczas analizy problemu zidentyfikowano 4 główne przyczyny powolnego startu, na których rozwiązaniu skupimy się:

  • Wysokie obciążenie podczas wyszukiwania plików w skompresowanym obrazie squashfs, co jest szczególnie zauważalne w systemach o niskim poborze mocy. Planowane jest rozwiązanie problemu poprzez grupowanie treści, aby zminimalizować operacje poruszania się po obrazie podczas uruchamiania.
  • Na Raspberry Pi i systemach z procesorami graficznymi AMD duże opóźnienia były związane z niepowodzeniem w określeniu sterownika graficznego i powrotem do korzystania z renderowania programowego z bardzo powolną kompilacją shaderów. Do snapd została już dodana łatka rozwiązująca problem.
  • Dużo czasu poświęcono kopiowaniu dodatków wbudowanych w pakiet do katalogu użytkownika. W pakiecie Snap wbudowanych było 98 pakietów językowych, z których wszystkie zostały skopiowane, niezależnie od wybranego języka.
  • Opóźnienia wystąpiły również z powodu identyfikacji wszystkich dostępnych czcionek, motywów ikon i konfiguracji czcionek.

Podczas uruchamiania Firefoksa z Snap również doświadczyliśmy pewnych problemów z wydajnością podczas działania, ale programiści Ubuntu przygotowali już poprawki poprawiające wydajność. Na przykład, począwszy od przeglądarki Firefox 100.0, podczas budowania włączone są optymalizacje czasu łącza (LTO) i optymalizacje profilowania kodu (PGO). Aby rozwiązać problemy z komunikacją pomiędzy Firefoksem a podsystemami zewnętrznymi, przygotowano nowy portal XDG Desktop Portal, którego obsługa jest na etapie sprawdzania pod kątem włączenia do Firefoksa.

Powody promowania formatu snap dla przeglądarek obejmują chęć uproszczenia konserwacji i ujednolicenia rozwoju dla różnych wersji Ubuntu - pakiet deb wymaga osobnej konserwacji dla wszystkich obsługiwanych gałęzi Ubuntu i odpowiednio montażu i testowania z uwzględnieniem różnych wersji systemu komponentów, a pakiet snap można natychmiast wygenerować dla wszystkich gałęzi Ubuntu. Co więcej, pakiet snap oferowany w Ubuntu z Firefoksem prowadzony jest przez pracowników Mozilli, tj. powstaje z pierwszej ręki, bez pośredników. Dostawa w formacie snap umożliwiła także przyspieszenie dostarczania nowych wersji przeglądarki użytkownikom Ubuntu oraz umożliwiła uruchomienie Firefoksa w izolowanym środowisku stworzonym przy użyciu mechanizmu AppArmor, aby jeszcze bardziej zabezpieczyć resztę systemu przed wyzyskiem luk w przeglądarce.

Źródło: opennet.ru

Dodaj komentarz