据介绍,为了将像 OpenGL 这样的硬件加速 API 与像 X11 或 Wayland 这样的窗口系统一起使用,需要一个将它们组合在一起的接口。对于 X11 上的 OpenGL,大多数程序使用 GLX,而它的继任者 EGL 则用于 Wayland、Android 和嵌入式领域。
火狐浏览器此前已在 Android 端支持 EGL,经过了一段时间的测试,EGL 的性能表现更好,所以决定将它带到 Linux 端。
从 Firefox 94 开始,使用 Mesa 驱动程序 >= 21 的用户将默认支持 EGL,预计会在本周推出。专有英伟达驱动程序的用户需要等待一段时间,因为当前发布的驱动程序缺少重要的扩展。(EGL 目前不支持 AMD 驱动)
- 改用 EGL 后,火狐浏览器将获得以下提升:
- 改进的 WebGL 性能:由于 DMABUF 零拷贝缓冲区共享,WebGL 可以在沙盒中完成,无需往返系统内存。WebGL 可用于游戏、谷歌地图等场景。
- 降低功耗:如果只有一小部分内容变更,火狐浏览器将不再需要重新绘制整个窗口,常见示例是网站上或加载选项卡时的小动画。
- Bug 更少:与 GLX 相比,EGL 更现代,更适合复杂的硬件加速桌面应用程序并在更多平台上使用。
- 默认硬件视频解码。