Firefox 火狐94版本:Linux图形引擎将从GLX切换到EGL

在即将发布的 Firefox 94正式版本中,对Linux用户启用EGL后端。 这将提高WebGL性能,减少资源消耗并使开发人员的生活更轻松。

Firefox 火狐94版本:Linux图形引擎将从GLX切换到EGL

概述

为了像将像X11或Wayland等窗口系统一样实现硬件加速OpenGL API,需要一个将它们组合在一起的接口。在X11 OpenGL平台,大多数程序使用GLX,而其继任者EGL则更多用于Wayland、Android和嵌入式领域。虽然EGL与GLX相比有一些优势,理论上也可以在X11上使用,但并还没有并广泛地采纳,归其原因:

游戏和类似应用程序几乎无法从迁移中受益。

应用程序和工具包通常不会首先在X11上启用硬件加速渲染。

由于采用缓慢,X11 EGL实现仍然存在缺陷和不完整。

变化

火狐浏览器是一款在许多领域都从硬件加速中受益匪浅的应用程序。然而,直到最近,其默认设置依然是软件渲染。直到今年,火狐新图形渲染引擎Webrender终于在Linux上被广泛启用。WebRender是一个基于GPU的2D渲染引擎,Rust语言编写。

Firefox 火狐94版本:Linux图形引擎将从GLX切换到EGL

使用新引擎后,在安全性、性能和功能上都有极大改善:

OpenGL 驱动程序变得更好;

Xorg DDX 驱动程序变得更好(例如“模式设置”驱动程序成为英特尔的标准);

复合桌面变得更加普遍;

与旧的OpenGL层后端相比,Webrender使硬件加速更加理想;

Wayland、DMABUF等新技术应运而生。

火狐在实现Wayland硬件加速支持时,无法直接重GLX代码,于是使用了安卓EGL代码。这就是EGL引擎的来源。

改进EGL后端和共享代码

一步一步地,对EGL/Wayland后端进行了一些改进,这些改进也对其他平台产生了影响:

为了提高WebGL性能并实现高效的硬件视频解码,实现了通过DMABUF零拷贝GPU 缓冲区共享。这在EGL上比在GLX上容易得多。虽然火狐确实为X11提供了类似的缓冲区共享实现(使用 Xrender),但该实现从来都不够稳定,无法默认开启。

改进了EGL后端,不仅支持OpenGL ES,还支持“桌面”OpenGL,确保它不落后于GLX后端。

扩展DMABUF和VAAPI支持X11 。

GPU检测改进,确保无需Xwayland存在,使其不再需要 GLX。

越来越多的代码在Wayland、X11/EGL和Android之间共享。这提高了代码质量,增加了花在功能和错误上的可用时间,减少了维护负担。

EGL设为默认值

去年,越来越多的用户发现在X11上使用EGL的可能性——可能是因为它是硬件视频解码的先决条件。从 Firefox 94 开始,使用Mesa驱动程序>=21的用户将默认启用。专有Nvidia驱动程序的用户将需要等待一段时间,预计能够在470系列以后启用EGL。 DMABUF支持(因此更好的WebGL性能)需要GBM支持,并且将仅限于495系列以后。

对用户的好处

那么用户究竟能期待,主要有:

改进了WebGL性能。 由于DMABUF零拷贝缓冲区共享,WebGL可以在沙盒中完成,无需往返系统内存。WebGL不仅用于游戏等明显的地方,而且还以更微妙的方式使用,例如在谷歌地图上。

Firefox 火狐94版本:Linux图形引擎将从GLX切换到EGL

降低功耗。对于部分渲染,如果仅更改了小部分内容,就无需重新绘制整个窗口。比如,网站上或加载选项卡时的小动画。

更少的漏洞。与 GLX 相比,EGL 更现代,更适合复杂的硬件加速桌面应用程序并在更多平台上使用。

默认情况下,支持硬件视频解码。对于大多数用户来说,现在应该只是一个偏好。

展开阅读全文

页面更新:2024-06-16

标签:火狐   会首   英特尔   引擎   缓冲区   驱动程序   应用程序   图形   类似   桌面   窗口   性能   版本   代码   硬件   用户   科技   视频

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top