przystajnik

Firefox i przyśpieszenie sprzętowe

Jeszcze nigdy w historii internetu przeglądarki nie miały takiego apetytu na zasoby naszych komputerów. Pożerają one lwią cześć pamięci RAM a wykres wykorzystania CPU każe się nam zastanowić, czy to nie czas na aktualizację sprzętu. Nie jest to jednak wina tylko i wyłącznie przeglądarek, gdyż one po prostu próbują nadążyć za obsługą pojawiających się trendów i technologii webowych. Rosną też nasze wymagania, jak choćby wyższa jakość materiałów wideo na popularnym Youtube. To jednocześnie jeden z pierwszych serwisów, który masowo zastąpił odtwarzacz we Flashu protegowanym odtwarzaczem w HTML5. Niestety, pod Linuksem maksymalna rozdzielczość filmów oferowanych przez Youtube to „jedynie” 720p. A wszystko za sprawą domyślnie wyłączonego w Firefoksie przyśpieszenia sprzętowego.

Aby nie świecić oczami przed użytkownikami innych systemów, możemy w paru prostych krokach przekonać Firefoksa, by korzystał z mocy drzemiącej w naszym GPU. Wystarczy do tego celu jedynie karta about:config oraz świadomość, że opcje które za chwilę przestawimy nie na darmo zostały domyślnie wyłączone. Mogą pojawić się wywrotki przeglądarki, samego playera na Youtube (i tam, gdzie jest aktywnie używane HTML5) i należy to wszystko potraktować testowo – choć nie wyklucza się również prawidłowego funkcjonowania całości (np. u mnie działa).

Zaczynamy zatem od wspomnianego about:config. Na początku wyszukujemy tam ciągów zawierających mediasource i przestawiamy na true (dwuklik) następujące:

media.mediasource.enabled

media.mediasource.webm.enabled

Teraz wyszukujemy layers. i podobnie ustawiamy na true:

layers.acceleration.force-enabled

layers.offmainthreadcomposition.enabled

firefox_hwsupportUpewnijmy się jeszcze, że to coś dało. Udajmy się do zakładki about:support i przyjrzyjmy się tabeli opisującej grafikę. Interesuje nas przede wszystkim obecność wartości 1/1 OpenGL (OMTC). W starszych wersjach Firefoksa (<41) może być jeszcze konieczny taki zabieg:
sudo bash -c "echo export MOZ_USE_OMTC=1 >> /etc/X11/Xsession.d/90environment"

Powyższe powinno wystarczyć, by na Youtube zobaczyć możliwość wybrania rozdzielczości wideo od 1080p w górę.

Możemy iść krok dalej i uskutecznić również obsługę MSE & H.264. W tym celu ponownie przechodzimy do about:config i odnajdujemy ciągi zawierające media.fragmented-mp4. Przestawiamy na true następujące z nich:

media.mediasource.mp4.enabled

media.fragmented-mp4.exposed

media.fragmented-mp4.gmp.enable

Na false natomiast przestawiamy:

media.fragmented-mp4.use-blank-decoder

W ten sposób można pozbyć się paru kompleksów, choćby tego związanego z obsługiwanymi formatami przez odtwarzacz HTML5 (http://youtube.com/html5):

firefox_html5

Jak wspomniałem, nie u każdego to może zadziałać jak należy, głównie za sprawą sterowników graficznych i naszej karty. Warto przyjrzeć się poradom samej Mozilli, a w ostateczności przeprowadzić proces odwrotny do opisanego powyżej (choć powinno wystarczyć przestawienie jedynie layers.acceleration.force-enabled). 

Post navigation

15 comments for “Firefox i przyśpieszenie sprzętowe

  1. 14 października, 2015 at 7:42

    Cześć,
    sprawdzałeś może jaki to ma wpływ na działanie laptopa na baterii?

  2. Krzysiek Kowalewski
    14 października, 2015 at 15:17

    O super 🙂 z Firefox Nightly działa wręcz to pięknie! Nie muszę już Opery do wideo w FullHD używać.

  3. Kamil Koczurek
    14 października, 2015 at 17:34

    Zależy od obciążenia, ale prawie na pewno negatywny. Generalnie używanie karty graficznej na lapku to zły pomysł, jeżeli chce się dużo pracować (baz dostępnej ładowarki OFC), więc lepiej ograniczać to do minimum.

  4. Dwimenor
    14 października, 2015 at 18:21

    Dozgonna wdzięczność

  5. Jarek Bugajski
    15 października, 2015 at 0:20

    Po włączeniu tego klucza : media.mediasource.webm.enabled,zamiast dźwięku mam pisk taki jak w obrazie kontrolnym 🙁

  6. Mirosław Walczak
    15 października, 2015 at 13:06

    Proponuje zainstalować wcześniej pakiet „gstreamer0.10-ffmpeg” który pozwala odtwarzać Video w formacie H264 w przeglądarce Firefox -> http://www.webupd8.org/2014/03/get-firefox-and-phonon-gstreamer-to.html

  7. Mirosław Walczak
    15 października, 2015 at 13:07

    Baterię pożera trochę szybciej, ale na prawdę warto włączyć te funkcje w Firefoxie.

  8. Kamil Koczurek
    15 października, 2015 at 15:24

    To już raczej zależy też od procka i ekranu, jak ktoś ma tylko 720p może żyć bez akceleracji.

  9. Marek
    15 października, 2015 at 17:35

    To jest dobry materiał testowy :

    https://www.youtube.com/watch?v=y8Qh7AYPtN4

    1080p 50 klatek na sek. 😉

    Mi na Ubuntu „padaczy” w wszystkich możliwych przeglądarkach , nawet dźwiek szarpie i zatrzymuje się…!

    W Windows 10 64-bit w Firefoxie 41.0.1 na tym samym sprzęcie gubi pojedyncze klatki…

    Jak jest z tym u Was ?

    Coś sterowniki NVIDIA są gorzej zooptymalizowane ? że nie wyrabiają z dekodowaniem 50 klatek na sek. ?

    Co może być przyczyną ?

    W statystykach dla nerdów kodek mp4 ma inną nazwę pod Ubuntu i Windows ? Tak ma być ?”

  10. anonim
    15 października, 2015 at 21:25

    media.fragmented-mp4.use-blank-decoder sprawdź to czy na pewno jest na FALSE

  11. Inter
    15 października, 2015 at 21:26

    Co ciekawe u mnie powyższy testowy materiał śmiga i na firefoksie (bez stosowania technik opisanych w artykule) i pod chromium. Myślę że kluczem do sukcesu pod firefoxem jest wtyczka user agent overrider z ustawionym firefoxem 26. Dzięki temu youtube odtwarza film poprzez starego flasha i jakości HD są dostępne.

    Moja grafa: GeForce 7300 GT/PCIe/SSE2

  12. Jarek Bugajski
    15 października, 2015 at 23:42

    Nie było to wyłączone,ale po wyłączeniu nie wszystkie filmy chodziły na Youtube,podczas gdy te same filmy bez problemu chodziły na Google Chrome.Firefox jest jednak w tyle za Chrome.

  13. Marek
    16 października, 2015 at 7:43

    Już wiem co pozwala na płynne odtwarzanie tego materiału 😉
    W obu systemach Ubuntu i Windows należy doinstalować dodatek magic actions for youtube.
    Następnie w opcjach zaznaczyć Use MP4/AVC video stream.
    Wtedy jest dużo lepiej.
    Jednak największą płynność osiąga się używając tak jak napisałeś playera we flashu.
    Można to prosto zrobić zaznaczając w opcjach magic action opcję force player : flash

    Moja grafika to GeForce GT 720/PCIe/SSE2

  14. Angry Penguin
    17 października, 2015 at 18:22

    Jakiś miesiąc lub dwa temu próbowałem tego (włączenia przyśpieszenia OMTC w OpenGL) niestety obraz był czarny, jakby powoli się odświeżał. Musiałem minimalizować Firefoksa i znowu go maksymalizować aby zobaczyć co jest na ekranie przeglądarki i tak w koło. Było zbuggowane więc wyłączyłem. Tak miałem na sterownikach Catalyst. Ktoś wie jak teraz działa na Catalyst?

  15. wind
    20 października, 2015 at 18:30

    media.fragmented-mp4.ffmpeg.enabled;true
    Włączenie potrafi dać dobre rezultaty.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Translate »