0

我正在尝试在 Android 上的 GLES 中缓冲多达 10 帧。传入的帧来自相机到 a surfacetexture,我使用 OpenGL 处理图像。我正在尝试这样做,因为我正在应用几个 gles 过滤器导致 GPU 阻塞,所以我正在失去帧速率。(一个 30 FPS 的相机最终会给出 25 帧)。我的想法是,如果我能够保留几帧并实现一个循环缓冲区,我应该能够将帧延迟固定数量(增加延迟),但仍然提供一致的帧速率(吞吐量)。

关于如何做到这一点的任何想法?

4

1 回答 1

0

您可能不能 - 您无法直接控制 Android 上 OpenGL ES 中的窗口表面管理 - 您将在交换链中获得与系统配置提供的一样多的缓冲区(通常为三个)。

添加三个以上不太可能真正有助于提高帧速率一致性,因为无论如何您都受制于显示垂直同步限制。

于 2018-05-28T13:19:12.117 回答