相机拍照时预览卡顿问题

1、卡顿的概念

人眼对于每11毫秒闪烁一次约83赫兹基本感觉不到,每13毫秒闪烁一次约66赫兹轻微频闪。

人眼的刷新频率是:

通常条件下,人眼的识别连贯图像的速度是24帧/秒,也就是1000毫秒/24帧,大约为40ms(毫秒)。达到或者超过这个速度的连贯图像,观看时就不会形成卡顿的感觉。形成这个现象的原因是因为人眼观看影像时,会产生视觉延迟导致的。所以说,我们经常说人眼的视觉延迟感应速度为>=40ms。

眼睛分辨显示器频率的问题:

每个人都是这样的,在传统的显示器上75HZ一下就会感觉到闪烁,85Hz以上才可以。

理论上人眼有一个0.1秒的视觉延迟,所以通常每秒刷新10次以上就可以了,但实际情况是每秒刷新24次以上时人眼才会分辨不出来。

打个比方,一个移动缓慢的物体用动画来实现,比如蜗牛移动,可能每秒两三张图片就可以使人眼感觉连贯。而赛车的话,可能需要每秒四五十张以上的图片才能让人眼感觉连贯。

所以,当手机预览帧绘制速度降到每秒24帧一以下时,就会人眼感到卡顿现象。

2、卡顿的原因

直接原因:GPU在屏幕上绘制帧率小于24fps。

导致GPU在屏幕上绘制帧率慢的原因,主要从预览帧传输流程入手进行分析:

1、从hal出图给APP

2、APP调用算法处理

3、算法处理结束回调改帧给APP

4、APP调用GPU在屏幕上进行绘制

分析方法:

观察卡顿trace,分析上述四个线程,哪一个线程在预览帧的处理上执行速度慢。

3、可能原因

1、主要观察执行速度慢的时候的GPU和CPU负载,负载过重会导致预览帧处理线程抢不到执行资源而速度降低导致卡顿;、

2、算法处理时间过长,导致预览帧绘制速度慢;

3、在处理流程上buff队列堆积,哪里有逻辑阻塞。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值