【问题标题】:off-screen rendering with GPU support BUT without windowing support支持 GPU 的离屏渲染但不支持窗口化
【发布时间】:2016-07-24 07:59:42
【问题描述】:

目前我正在使用 OSMesa 进行离屏渲染。我在 linux (RHEL) 命令行界面上运行它。它工作得非常好,但渲染会消耗大量时间。基本上我在屏幕外运行opengl动画并动态捕获帧并使用ffmpeg创建视频。所以,我的问题是,是否可以使用 GPU 进行离屏渲染以使渲染过程更快。 我知道我可以使用 FBO,但我认为它们需要由于 linux CLI 而我没有的窗口支持。 所以简而言之,在我的情况下是否可以使用 FBO,或者什么是加快渲染过程的最佳解决方案?

【问题讨论】:

    标签: linux opengl mesa off-screen


    【解决方案1】:

    所以,我的问题是,是否可以使用 GPU 进行离屏渲染以使渲染过程更快。

    原则上是的,但到目前为止,还没有关于如何做到这一点的标准 API。如果您使用的是 NVidia GPU,则可以将无头 EGL 与 Nvidia 专有驱动程序一起使用:https://devblogs.nvidia.com/parallelforall/egl-eye-opengl-visualization-without-x-server/

    使用内核 DRM 和 Mesa OpenGL 驱动程序,可以在没有显示服务器的情况下在单个进程中配置和操作 GPU。有一个名为“kmscube”的演示,我将它分叉到我的 GitHub 并对其进行了一些小修改:https://github.com/datenwolf/kmscube 在当前状态下,kmscube 将绘制到屏幕上,但应该可以更改连接器的选择一种方式,您可以获得完整的屏幕外渲染。

    此外,整个 Wayland 基础设施都围绕着为客户端提供任意帧缓冲区以进行渲染的可能性为中心,然后合成器将其组合起来,因此查看 Wayland 合成器如何分配屏幕外帧缓冲区供 Wayland 客户端使用的方式也值得一看在。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-22
      • 2013-09-16
      • 2017-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多