sunyc

Results 2 issues of sunyc

为了提高渲染效率,我把编码器和相机预览用同一个filter,发现用ImageReader读出的帧数据会出现花屏,应该是ImageReader正在读取帧数据时,又被下一次渲染修改导致了部分帧数据被重新绘制。不知道有没有遇到过?或有没有解决方案

ByteBuffer ByteBuffer = (ByteBuffer) GLES30.glMapBufferRange(GLES30.GL_PIXEL_PACK_BUFFER, 0, mPboSize, GLES30.GL_MAP_READ_BIT); 耗时为0 GLES30.glUnmapBuffer(GLES30.GL_PIXEL_PACK_BUFFER); GLES30.glBindBuffer(GLES30.GL_PIXEL_PACK_BUFFER, 0); if (ByteBuffer != null) { ByteBuffer.get(mData); 这里耗时非常大,有几十毫秒 ByteBuffer.clear(); }