Camera启动/预览/拍照的性能较差 ,较长时间才会完成
时间:10-02
整理:3721RD
点击:
[DESCRIPTION]
会遇到这样的情况,在点击CAMERA图标启动/预览,发现较长时间才显示出第一帧,在点击拍照后也耗用较长时间才拍照完成并返回之前的预览状态
[SOLUTION]
1 请不要用eng版本来测试,用user版本来抓log; eng版本本身因为系统运行状况有差异,会有较大的误差;
2 camera性能分析,如果是用的mtk camera,php?mod=tag&id=6090" target="_blank" class="relatedlink">Framework/HAL逻辑没有做修改的话,性能问题主要在driver部分,请focus在如下几点:
1 camera sensor driver上电延时和driver init/preview/capture/setting/feature control等的延时:
尽可能在符合camera sensor spec的基础上减少延时;
2 camera sensor driver I2C speed提高:
默认的I2C speed应该是100K, 如果camera sensor可支持,可以尝试提高到400K来测试,这样camera driver中读写I2C的速度会提高到之前的4倍;
3 camera driver在不影响画面显示的情况下尽可能减少delay frame:
如下的数值尽可能减少:
.cap_delay_frame = 3,
.pre_delay_frame = 3,
.video_delay_frame = 3,
4 另外sensor fps也很重要:
D/MtkCam/DisplayCLIent( 615): [handleReturnBuffers] + (375) 34ms < Duration(375)
375ms才有一帧数据,这样也会很大影响camera性能.
会遇到这样的情况,在点击CAMERA图标启动/预览,发现较长时间才显示出第一帧,在点击拍照后也耗用较长时间才拍照完成并返回之前的预览状态
[SOLUTION]
1 请不要用eng版本来测试,用user版本来抓log; eng版本本身因为系统运行状况有差异,会有较大的误差;
2 camera性能分析,如果是用的mtk camera,php?mod=tag&id=6090" target="_blank" class="relatedlink">Framework/HAL逻辑没有做修改的话,性能问题主要在driver部分,请focus在如下几点:
1 camera sensor driver上电延时和driver init/preview/capture/setting/feature control等的延时:
尽可能在符合camera sensor spec的基础上减少延时;
2 camera sensor driver I2C speed提高:
默认的I2C speed应该是100K, 如果camera sensor可支持,可以尝试提高到400K来测试,这样camera driver中读写I2C的速度会提高到之前的4倍;
3 camera driver在不影响画面显示的情况下尽可能减少delay frame:
如下的数值尽可能减少:
.cap_delay_frame = 3,
.pre_delay_frame = 3,
.video_delay_frame = 3,
4 另外sensor fps也很重要:
D/MtkCam/DisplayCLIent( 615): [handleReturnBuffers] + (375) 34ms < Duration(375)
375ms才有一帧数据,这样也会很大影响camera性能.