Π ΠΊΠΎΠ΄ΠΎΠ²ΡΡ Π±Π°Π·Ρ 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