Linux版本Firefox 94默认使用硬件加速支持度更佳的EGL,明显提升图形应用性能

Mozilla Gfx团队宣布,从Firefox 94开始,有一大群Linux用户将会默认激活绘图接口后端EGL,这样的改变不只可以提高WebGL的性能,游戏以及图形应用的执行也会更顺畅,同时功耗也较小,并且具有硬件图片解码的功能。

由于要让X11或是Wayland等窗口系统,能够获得诸如OpenGL等硬件绘图加速功能,中间需要有一层组合的接口,以X11搭配OpenGL使用上,大多数程序使用GLX,而由标准制定组织Khronos所发布的EGL,则可被应用在Wayland、Android和嵌入式设备上。EGL虽然比起GLX,有着许多不可取代的优势,但是在过去因为一些原因,使得EGL采用脚步缓慢。

Firefox是一款重度依赖硬件加速的应用程序,但是从过去以来,默认配置仍然采用软件渲染,一直到最近,Firefox才对大多数Linux用户,激活新的渲染引擎Webrender,提供更好的硬件加速功能。由于开发团队在Firefox中,要实例Wayland硬件加速功能支持时,他们发现无法重用GLX程序代码,而最后却是使用了Android EGL,因此他们也就一步一步地改进EGL/Wayland后端,使得EGL更成熟。

EGL在去年开始发光,其能够在X11上提供硬件图片解码,在经过持续改进Firefox和其他组件,修复许多bug之后,开发团队认为EGL已经足够成熟,可以在Firefox 94中作为默认配置,因此只要用户使用Mesa驱动程序21版本以上,就能够获得此项默认配置。

使用Nvidia驱动程序的用户则需要再等待一段时间,因为目前的驱动程序还缺少重要的扩展,不过之后就能够在Nvidia驱动程序470系列版本之后激活EGL,而要有DMABUF(DMA Buffer Sharing API)支持,获得更好的WebGL性能,需要GBM(Generic Buffer Management)支持,以及495系列以上的驱动程序版本。

Firefox 94默认激活EGL,对用户来说,最直接感觉的是WebGL性能提高,官方解释,因为DMABUF零复制缓冲区共享功能,WebGL工作负载可以在沙盒中完成,不需要往返系统内存,少了内容搬移,运行起来也就更加快速,因此重度使用WebGL的应用,包括游戏,都会比过去还要顺畅,就连Google地图的使用体验也获得提升。

而且在EGL中,当画面仅有一小部分内容改变,系统现在不会再重新搭建整个窗口,像是当网站上或是加载标签有小动画情况,系统也能够以更低的功耗运行。Mozilla Gfx团队提到,EGL是比GLX更加先进的接口,并且也适应复杂的硬件,能够良好地在更多平台上,加速桌面应用程序的运行。另外,硬件图片解码也是用户对EGL有感的功能之一,虽然现在还是有几个bug,但是使用起来仍然瑕不掩瑜。