GPUImage 是我滤镜相机的启蒙框架 但是用着用着发现这个框架在相机方面有点慢 opengl不该这么慢的 至于原因一起看GPUImage核心类GPUImageRenderer
首先我们到这个类先command+f搜一下onPreviewFrame 做过相机的小伙伴都知道这个是相机的回调方法 当新出现一帧图片的时候数据就会返回到第一个参数(byte[] data)里
@Override
public void onPreviewFrame(final byte[] data, final Camera camera) {
final Size previewSize = camera.getParameters().getPreviewSize();
if (mGLRgbBuffer == null) {
mGLRgbBuffer = IntBuffer.allocate(previewSize.width * previewSize.height);
}
if (mRunOnDraw.isEmpty()) {
runOnDraw(new Runnable() {
@Override
public void run() {
GPUImageNativeLibrary.YUVtoRBGA(data, previewSize.width, previewSize.height,
mGLRgbBuffer.array());
m