Android 在openles 2.0中渲染摄影机并强制延迟
是否可以在OpenLES2.0中强制延迟渲染摄影机?例如,延迟是5帧?目前,我正在使用surfacetexture和opengles-2.0渲染输出。如果每秒接收30帧,并且希望引入5帧的恒定延迟,则需要对这5帧进行处理 SurfaceTexture不做(很多)缓冲。由于生产者和消费者端点处于同一进程中,因此很容易通过溢出消费者而导致死锁。因此,SurfaceTexture在“异步”模式下使用缓冲队列,这意味着如果使用者还没有准备好下一个帧,它将丢弃帧 因此,您需要一种自己进行缓冲的方法,这意味着将数据从“外部”纹理中复制出来。一种方法是将纹理渲染到一系列FBO,稍后可以从这些FBO进行渲染。请务必注意此处的内存使用情况——1920x1080 32位ARGB映像占用约8MB的内存,因此保持5位左右会增加40MB的内存占用 可能会导致颜色保真度的损失,因为将涉及YUV到RGB的转换,但如果最终目标是RGB,则这不重要Android 在openles 2.0中渲染摄影机并强制延迟,android,android-camera,opengl-es-2.0,render,Android,Android Camera,Opengl Es 2.0,Render,是否可以在OpenLES2.0中强制延迟渲染摄影机?例如,延迟是5帧?目前,我正在使用surfacetexture和opengles-2.0渲染输出。如果每秒接收30帧,并且希望引入5帧的恒定延迟,则需要对这5帧进行处理 SurfaceTexture不做(很多)缓冲。由于生产者和消费者端点处于同一进程中,因此很容易通过溢出消费者而导致死锁。因此,SurfaceTexture在“异步”模式下使用缓冲队列,这意味着如果使用者还没有准备好下一个帧,它将丢弃帧 因此,您需要一种自己进行缓冲的方法,这意味
所以这是可能的,但并不容易。您想实现什么?我正在尝试将渲染延迟调整为AR库的延迟(它在固定延迟下工作)