我正在使用GPUImage来处理传入的视频,并且每个帧我想确定传入图像的许多矩形子区域的平均亮度,以便在游戏中进行命中检测,但是我在这样做时遇到了麻烦不会杀死FPS。
我目前的情况是遍历感兴趣的命中框,用GPUImageCropFilter裁剪所述命中框的框架,在裁剪区域上做平均亮度,在主线程上完成块调用命中方法,如果光度足够高。如果只有几个命中框,这可以正常工作,但对于我正在进行的项目,可能会有几十个一次杀死FPS。
是否有任何建议的方法来修改上述方法以提高性能?我想通过制作一个带有自定义着色器的新滤镜可以实现这一点,该着色器可以实现一种局部像素化效果(对感兴趣的矩形进行像素化,这样我就可以检查该区域中任何像素的光度),但我不确定是否有可能将这样感兴趣的区域数组传递给过滤器/着色器。感谢。