Π’ Firefox Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ускорСниС дСкодирования Π²ΠΈΠ΄Π΅ΠΎ Ρ‡Π΅Ρ€Π΅Π· VA-API для систСм X11

Π’ ΠΊΠΎΠ΄ΠΎΠ²ΡƒΡŽ Π±Π°Π·Ρƒ Firefox, Π½Π° основС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ 25 августа Π±ΡƒΠ΄Π΅Ρ‚ сформирован Ρ€Π΅Π»ΠΈΠ· Firefox 80, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ для Linux привязку ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ ускорСния дСкодирования Π²ΠΈΠ΄Π΅ΠΎ ΠΊ систСмам Π½Π° Π±Π°Π·Π΅ Wayland. УскорСниС обСспСчиваСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ VA-API (Video Acceleration API) ΠΈ FFmpegDataDecoder. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ ускорСния Π²ΠΈΠ΄Π΅ΠΎ Ρ‡Π΅Ρ€Π΅Π· VA-API станСт доступна ΠΈ для Linux-систСм, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» X11.

Π Π°Π½Π΅Π΅ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠ΅ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ΅ ускорСниС Π²ΠΈΠ΄Π΅ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Π»ΠΎΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π½ΠΎΠ²ΠΎΠ³ΠΎ бэкСнда, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ Wayland ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ DMABUF. Для X11 ускорСниС Π½Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΠ»ΠΎΡΡŒ ΠΈΠ·-Π·Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с gfx-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°ΠΌΠΈ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с задСйствованиСм ускорСния Π²ΠΈΠ΄Π΅ΠΎ для X11 Ρ€Π΅ΡˆΠ΅Π½Π° Ρ‡Π΅Ρ€Π΅Π· использованиС EGL. Π’Π°ΠΊΠΆΠ΅ для систСм с X11 Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ WebGL Ρ‡Π΅Ρ€Π΅Π· EGL, которая Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ для X11 ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ ускорСния WebGL.
Π’ настоящСС врСмя данная Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠΊΠ° остаётся ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½ΠΎΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ (Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· widget.dmabuf-webgl.enabled), Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ всС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΠΎΠΊΠ° Ρ€Π΅ΡˆΠ΅Π½Ρ‹.

Для Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ‡Π΅Ρ€Π΅Π· EGL прСдусмотрСна пСрСмСнная окруТСния MOZ_X11_EGL, послС установки ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Webrender
ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚ΠΈΠ½Π³Π° OpenGL ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π½Π° использованиС EGL вмСсто GLX. РСализация основана Π½Π° Π½ΠΎΠ²ΠΎΠΌ бэкСндС для X11 Π½Π° Π±Π°Π·Π΅ DMABUF, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ ΠΏΡƒΡ‚Ρ‘ΠΌ раздСлСния DMABUF-бэкСнда, Ρ€Π°Π½Π΅Π΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ для Wayland.

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ΄ΠΎΠ²ΡƒΡŽ Π±Π°Π·Ρƒ, Π½Π° основС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ формируСтся выпуск Firefox 79, систСмы ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚ΠΈΠ½Π³Π° WebRender для Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠΎΠ² Π½Π° Π±Π°Π·Π΅ Ρ‡ΠΈΠΏΠΎΠ² AMD Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Windows 10. WebRender написан Π½Π° языкС Rust ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ сущСствСнного увСличСния скорости отрисовки ΠΈ сниТСния Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° CPU Π·Π° счёт выноса Π½Π° сторону GPU ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ отрисовки содСрТимого страницы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Ρ‡Π΅Ρ€Π΅Π· выполняСмыС Π² GPU ΡˆΠ΅ΠΉΠ΄Π΅Ρ€Ρ‹. Π Π°Π½Π΅Π΅ WebRender Π±Ρ‹Π» Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Windows 10 для GPU Intel, APU AMD Raven Ridge, AMD Evergreen ΠΈ Π½Π° Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠ°Ρ… с Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚Π°ΠΌΠΈ NVIDIA. Π’ Linux WebRender ΠΏΠΎΠΊΠ° активируСтся для ΠΊΠ°Ρ€Ρ‚ Intel ΠΈ AMD Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π½ΠΎΡ‡Π½Ρ‹Ρ… сборках, ΠΈ Π½Π΅ поддСрТиваСтся для ΠΊΠ°Ρ€Ρ‚ NVIDIA. Для ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² about:config слСдуСт Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ настройки «gfx.webrender.all» ΠΈ «gfx.webrender.enabled» ΠΈΠ»ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Firefox с выставлСнной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ окруТСния MOZ_WEBRENDER=1.

Π’ Firefox 79 Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° настройка для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ динамичСской изоляции Cookie ΠΏΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠΌΡƒ Π² адрСсной строкС Π΄ΠΎΠΌΠ΅Π½Ρƒ («Dynamic First Party Isolation«, ΠΊΠΎΠ³Π΄Π° свои ΠΈ сторонниС вставки ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° основС Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π° сайта). Настройка ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ Π² сСкции настройки Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ отслСТивания ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΉ Π² Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅ΠΌ Π±Π»ΠΎΠΊΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Cookie.
Π’Π°ΠΊΠΆΠ΅ Π² Firefox 79 Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½ΠΎΠ²Ρ‹ΠΉ экран с ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ настойками — «about:preferences#experimental», ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ интСрфСйс для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… возмоТностСй, ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ Π½Π° about:flags Π² Chrome.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru