gpt4 book ai didi

android - glReadPixels 使用太慢

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:10:22 32 4
gpt4 key购买 nike

我正在使用 glReadPixelsGLSurfaceView.RendererdrawFrame 方法中定期拍摄快照。我需要定期拍摄此快照,以根据我的应用程序要求继续保存我的数据。

但是 glReadPixels 性能确实很慢并且显示出延迟。以下是我如何使用该方法:

gl.glReadPixels(0, 0, 1280, 752, GL10.GL_RGBA,GL10.GL_UNSIGNED_BYTE, bb);

是否有替代方法来使用 glReadPixels?如何在不造成延迟的情况下保存图像?

最佳答案

我不知道这在 Android 上是否可用,但也许 PBO(像素缓冲区对象)会提高性能。看这个OpenGL.org thread .

但是,不要指望奇迹!对于 1280*752 RGBA 图像,每帧传输 3.67 MB 的数据。我不知道 Android 的数据,但我敢打赌你正面临内存带宽或硬盘写入瓶颈。如果您减小 readPixel 的大小并获得更好的性能,您就会知道这就是问题所在。

此外,您需要“A”组件吗?也许读回 RGB 更快。尝试以不同的格式回读。有些比其他的快方式,因为它们更好地映射到 OpenGL 内存表示。例如,BGRA 可能比 RGBA 更快。当您请求的格式与 OpenGL 的格式不匹配时,每个像素都必须在操作期间进行转换。

关于android - glReadPixels 使用太慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8222548/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com