Π ΠΊΠΎΠ΄ΠΎΠ²Π°ΡΠ° Π±Π°Π·Π° Π½Π° Firefox, Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΊΠΎΡΡΠΎ ΡΠ΅ Π±ΡΠ΄Π΅ ΡΠΎΡΠΌΠΈΡΠ°Π½Π° Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° Firefox 25 Π½Π° 80 Π°Π²Π³ΡΡΡ, Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ΡΠΎ Π·Π° Linux ΠΏΠΎΠ΄Π²ΡΡΠ·Π²Π°Π½Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Ρ
Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΎ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° Π²ΠΈΠ΄Π΅ΠΎ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ Π·Π° ΡΠΈΡΡΠ΅ΠΌΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Wayland. Π£ΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΠ΅ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° VA-API (API Π·Π° ΡΡΠΊΠΎΡΡΠ²Π°Π½Π΅ Π½Π° Π²ΠΈΠ΄Π΅ΠΎ) ΠΈ FFmpegDataDecoder. ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Ρ
Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΎ Π²ΠΈΠ΄Π΅ΠΎ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅Π· VA-API ΡΠ΅ Π΅ Π½Π° ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π° Linux ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° X11.
ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° ΡΡΠ°Π±ΠΈΠ»Π½ΠΎΡΠΎ Ρ
Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΎ Π²ΠΈΠ΄Π΅ΠΎ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ Π±Π΅ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ΠΎ ΡΠ°ΠΌΠΎ Π·Π° Π½ΠΎΠ²ΠΈΡ Π±Π΅ΠΊΠ΅Π½Π΄ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Wayland ΠΈ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ° DMABUF. ΠΠ° X11 ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π΅ Π±Π΅ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΎ ΠΏΠΎΡΠ°Π΄ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ gfx Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈΡΠ΅. Π‘Π΅Π³Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ Ρ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π²ΠΈΠ΄Π΅ΠΎΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π·Π° X11 Π΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ ΡΡΠ΅Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° EGL. Π‘ΡΡΠΎ ΡΠ°ΠΊΠ°, Π·Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ X11 Π΅ Π²ΡΠ²Π΅Π΄Π΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ WebGL ΠΏΡΠ΅Π· EGL, ΠΊΠΎΠ΅ΡΠΎ Π² Π±ΡΠ΄Π΅ΡΠ΅ ΡΠ΅ Π΄Π°Π΄Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Ρ
Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΎ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° WebGL Π·Π° X11.
Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠ°Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΡΡΠ°Π²Π° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ (Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π° ΡΡΠ΅Π· widget.dmabuf-webgl.enabled), ΡΡΠΉ ΠΊΠ°ΡΠΎ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ ΡΠ° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈ.
ΠΠ° Π΄Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ ΡΠ°Π±ΠΎΡΠ° ΡΡΠ΅Π· EGL, ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° Π½Π° ΡΡΠ΅Π΄Π°ΡΠ° MOZ_X11_EGL, ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ Π·Π°Π΄Π°Π΄Π΅ΡΠ΅ ΠΊΠΎΠΉ Webrender
ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ½ΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π° OpenGL ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Ρ ΠΊΡΠΌ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° EGL Π²ΠΌΠ΅ΡΡΠΎ GLX. ΠΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ ΡΠ΅ Π±Π°Π·ΠΈΡΠ° Π½Π° Π½ΠΎΠ² Π±Π΅ΠΊΠ΅Π½Π΄ Π·Π° X11, Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° DMABUF, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡΠ²Ρ ΡΡΠ΅Π· ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π΅ DMABUF Π±Π΅ΠΊΠ΅Π½Π΄, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° Π·Π° Wayland.
ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈ Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π² ΠΊΠΎΠ΄ΠΎΠ²Π°ΡΠ° Π±Π°Π·Π°, Π²ΡΡΡ
Ρ ΠΊΠΎΡΡΠΎ ΡΠ΅ ΡΠΎΡΠΌΠΈΡΠ° ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ΡΠΎ Π½Π° Firefox 79, ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ°Π½Π΅ WebRender Π·Π° Π»Π°ΠΏΡΠΎΠΏΠΈ, Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° AMD ΡΠΈΠΏΠΎΠ²Π΅ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Windows 10. WebRender Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Π΅Π·ΠΈΠΊΠ° Rust ΠΈ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΠΎΡΡΠΈΠ³Π½Π΅ΡΠ΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΡΠ΅Π½Π΄ΠΈΡΠ°Π½Π΅ ΠΈ Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈΡΠ΅ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ° ΡΡΠ΅Π· ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΊΡΠΌ ΡΠ΅Π½Π΄ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° ΠΎΡ ΡΡΡΠ°Π½Π°ΡΠ° Π½Π° Π³ΡΠ°ΡΠΈΡΠ½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ ΡΡΠ΅Π· ΡΠ΅ΠΉΠ΄ΡΡΠΈ, ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ Π½Π° Π³ΡΠ°ΡΠΈΡΠ½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡ. ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° WebRender Π±Π΅ΡΠ΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° Windows 10 Π·Π° Π³ΡΠ°ΡΠΈΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ Intel, AMD Raven Ridge APU, AMD Evergreen APU ΠΈ Π»Π°ΠΏΡΠΎΠΏΠΈ Ρ Π³ΡΠ°ΡΠΈΡΠ½ΠΈ ΠΊΠ°ΡΡΠΈ NVIDIA. Π Linux WebRender Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ Π·Π° ΠΊΠ°ΡΡΠΈ Intel ΠΈ AMD ΡΠ°ΠΌΠΎ ΠΏΡΠΈ Π½ΠΎΡΠ½ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΠΈ ΠΈ Π½Π΅ ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π·Π° ΠΊΠ°ΡΡΠΈ NVIDIA. ΠΠ° Π΄Π° Π³ΠΎ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅ Π² about:config, ΡΡΡΠ±Π²Π° Π΄Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ βgfx.webrender.allβ ΠΈ βgfx.webrender.enabledβ ΠΈΠ»ΠΈ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ Firefox Ρ Π·Π°Π΄Π°Π΄Π΅Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° Π½Π° ΡΡΠ΅Π΄Π°ΡΠ° MOZ_WEBRENDER=1.
ΠΡΠ² Firefox 79 ΡΡΡΠΎ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π΄ΠΎΠ±Π°Π²ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π·Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½Π° ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡ Π½Π° Π±ΠΈΡΠΊΠ²ΠΈΡΠΊΠΈ Π·Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½Π°, ΠΏΠΎΠΊΠ°Π·Π°Π½ Π² Π°Π΄ΡΠ΅ΡΠ½Π°ΡΠ° Π»Π΅Π½ΡΠ° ("ΠΠΈΠ½Π°ΠΌΠΈΡΠ½Π° ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡ Π½Π° ΠΏΡΡΠ²Π° ΡΡΡΠ°Π½Π°"ΠΊΠΎΠ³Π°ΡΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ ΠΈ Π²ΠΌΡΠΊΠ²Π°Π½ΠΈΡ Π½Π° ΡΡΠ΅ΡΠΈ ΡΡΡΠ°Π½ΠΈ ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ Π΄ΠΎΠΌΠ΅ΠΉΠ½ Π½Π° ΡΠ°ΠΉΡΠ°). ΠΠ°ΡΡΡΠΎΠΉΠΊΠ°ΡΠ° ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΎΡΠ° Π² ΡΠ΅ΠΊΡΠΈΡΡΠ° Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π·Π° Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΏΠ°Π΄Π°ΡΠΈΡ Π±Π»ΠΎΠΊ Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ Π½Π° Π±ΠΈΡΠΊΠ²ΠΈΡΠΊΠΈ.
Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° Π²ΡΠ² Firefox 79 Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ ΠΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π½ΠΎΠ²ΠΈΡΡ Π΅ΠΊΡΠ°Π½ Π·Π° Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π΅ βabout:preferences#experimentalβ, ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π·Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° about:flags Π² Chrome.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru