【问题标题】:OpenGL tearing effect when rendering on EGL在 EGL 上渲染时的 OpenGL 撕裂效果
【发布时间】:2011-10-22 13:17:16
【问题描述】:

我在 ARM 板上的 EGL 实现提供的表面上使用 OpenGL 渲染了一些 Qt 应用程序。我在渲染中遇到了某种撕裂。

通过阅读,我发现这可能是与 vsync 相关的问题,因此我使用了 EGL 调用 eglSwapInterval(eglDisplay, 1),但仍然存在撕裂。这个电话足以消除撕裂吗?该调用是否应该完全消除这种影响?会不会有一些撕裂的残留物?

【问题讨论】:

  • 关于这个问题的任何更新,@Luca ?
  • 我添加了一个答案。反正我也不知道能帮上多少忙。

标签: qt opengl-es rendering tearing egl


【解决方案1】:

在阅读了 EGL 实现的源代码后,我发现 eglSwapInterval 函数没有实现。需要一个具体的实施。之后不再撕裂。

【讨论】:

  • 您是否真的为 i.MX6 实施了eglSwapInterval 来解决问题?
  • 啊,对不起。我将@Ray 的答案与您的答案混合在一起,并认为您也在使用 i.MX6 处理器。不过,您能否详细说明实现eglSwapInterval?
  • 它是特定于我的驱动程序的,它不是为提供该功能而设计的。使用双缓冲应该可以消除这种影响。
【解决方案2】:

FB_MULTI_BUFFER=3 环境变量将启用飞思卡尔 i.MX 6 (Sabrelite) 板上的多缓冲以及一些最近的 LTIB 版本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-09
    • 1970-01-01
    • 2020-02-17
    • 2018-07-29
    • 1970-01-01
    • 2011-04-21
    • 1970-01-01
    相关资源
    最近更新 更多