Firefox dodaje akcelerację dekodowania wideo poprzez VA-API dla systemów X11

W kodzie Firefoksa, na bazie którego 25 sierpnia powstanie wydanie Firefoksa 80, dodany zmień wyłączenie dla Linuksa wiążący obsługa sprzętowego przyspieszania dekodowania wideo dla systemów opartych na Wayland. Akceleracja odbywa się za pomocą VA-API (Video Acceleration API) i FFmpegDataDecoder. Tym samym obsługa sprzętowej akceleracji wideo poprzez VA-API będzie dostępny oraz dla systemów Linux korzystających z protokołu X11.

Wcześniej stabilna sprzętowa akceleracja wideo była zapewniana tylko dla nowego backendu przy użyciu Waylanda i mechanizmu DMABUF. W przypadku X11 przyspieszenie nie zostało zastosowane ze względu na problemy ze sterownikami gfx. Teraz problem z włączeniem akceleracji wideo dla X11 został rozwiązany wykorzystanie EGL. Ponadto dla systemów z X11 zaimplementowano możliwość pracy WebGL poprzez EGL, co w przyszłości umożliwi obsługę sprzętowej akceleracji WebGL dla X11.
Obecnie ta funkcja pozostaje domyślnie wyłączona (włączona poprzez widget.dmabuf-webgl.enabled), ponieważ nie wszystkie problemy zostały jeszcze rozwiązane.

Aby aktywować pracę poprzez EGL, udostępniana jest zmienna środowiskowa MOZ_X11_EGL, po ustawieniu, który Webrender
i komponenty do komponowania OpenGL przechodzą na używanie EGL zamiast GLX. Wdrożenie opiera się na nowy backend dla X11 w oparciu o DMABUF, który jest przygotowywany przez partycjonowanie Zaplecze DMABUF, zaproponowany wcześniej dla Waylanda.

Dodatkowo można to zauważyć inkorporacja w bazę kodu, na której powstaje wydanie przeglądarki Firefox 79, systemu do komponowania WebRender dla laptopów opartych na chipach AMD na platformie Windows 10. WebRender jest napisany w języku Rust i pozwala osiągnąć znaczny wzrost szybkości renderowania i zmniejszyć obciążenie procesora poprzez przeniesienie operacji na stronę GPU, renderowanie zawartości strony, które są realizowane poprzez shadery działające na GPU. Wcześniej funkcja WebRender była włączona na platformie Windows 10 dla procesorów graficznych Intel, procesorów AMD Raven Ridge APU, AMD Evergreen APU i laptopów z kartami graficznymi NVIDIA. W systemie Linux funkcja WebRender jest obecnie aktywowana dla kart Intel i AMD tylko w kompilacjach nocnych i nie jest obsługiwana w przypadku kart NVIDIA. Aby wymusić to w about:config, należy aktywować ustawienia „gfx.webrender.all” i „gfx.webrender.enabled” lub uruchomić przeglądarkę Firefox z ustawioną zmienną środowiskową MOZ_WEBRENDER=1.

W przeglądarce Firefox 79 również domyślnie dodany ustawienie umożliwiające dynamiczną izolację plików cookie na podstawie domeny wyświetlanej w pasku adresu („Dynamiczna izolacja pierwszej strony", gdy wstawki własne i obce ustalane są na podstawie domeny bazowej serwisu). Ustawienie dostępne jest w konfiguratorze w sekcji Ustawienia blokowania śledzenia ruchu w rozwijanym bloku Metody blokowania plików cookies.
Również w przeglądarce Firefox 79 aktywowany Domyślnie nowy ekran ustawień eksperymentalnych to „about:preferences#experimental”, który zapewnia interfejs umożliwiający włączanie funkcji eksperymentalnych, podobny do about:flags w przeglądarce Chrome.

Źródło: opennet.ru

Dodaj komentarz