通过camera的onPreviewFrame实现自定义预览的性能问题
为了实现一些特殊的显示效果,通过camera的onPreviewFrame返回的byte[]数据来实现一个自定义的预览界面,遇到一个性能问题!
与系统自带的setPreviewDisplay方法同样使用suffaceview作为绘制组件,如果应用是横屏显示的话,在1920x1080分辨率下,将取得的byte[](yuv420sp)格式的数据转为bitmap8888,然后绘制至suffaceview上,能达到30fps的帧率;
但当app是竖屏时,其图像是倒置的,如果将byte[]数据先旋转90度,再转为bitmap8888绘制,则帧率仅达到5fps,主要时间都花在了旋转过程中!
不知有什么办法能加速这个旋转过程?
另:系统自带的预览界面,如果设置setDisplayOrientation(90),仍能达到30fps的帧率,系统在预览界面也应该实现了旋转,具体是如何实现的呢?