问题现象
后摄切前摄,从点击到出第一帧图时间明显比前摄切后摄长。
问题分析
1,抓取systrace,分析耗时长原因
从systrace上看很明显是后摄flush中stream off耗时长,且是长时间sleep状态引发。从这里可以盲推可能process:sleep,互斥锁,wait等操作。
2,sensor_stream_off函数代码分析
果然存在三处sleep动作,总共休眠了125ms。
3,对比前摄stream off无此sleep操作,到此得出结论,原因是后摄
后摄切前摄,从点击到出第一帧图时间明显比前摄切后摄长。
1,抓取systrace,分析耗时长原因
从systrace上看很明显是后摄flush中stream off耗时长,且是长时间sleep状态引发。从这里可以盲推可能process:sleep,互斥锁,wait等操作。
2,sensor_stream_off函数代码分析
果然存在三处sleep动作,总共休眠了125ms。
3,对比前摄stream off无此sleep操作,到此得出结论,原因是后摄