第24讲 录像Buffer Path帧率统计 - Android Camera性能分析

本讲是Android Camera性能分析专题的第24讲,我们介绍录像Buffer Path帧率统计,包括如下内容:

  1. 从GraphicBufferSource统计录像Buffer Path帧率
  2. Video Codec角度统计视频帧率
  3. Video Codec2角度统计视频帧率

视频在线观看:

加入知识星球与更多Camera同学交流
– 星球名称:深入浅出Android Camera
– 星球ID: 17296815
– Wechat: 极客笔记圈

1. 从GraphicBufferSource统计录像Buffer Path帧率

我们可以通过GraphicBufferSource来统计录像帧率,在Trace中将GraphicBufferSource的Trace圈起来选中,如下图所示;

从GraphicBufferSource统计录像Buffer Path帧率

  • 在9143.92ms内,发生了526次0和1,其中counter为0表示GraphicBufferSource acquire了一张Buffer,counter为表示GraphicBuffer queue了一张buffer。

  • 因此我们可以计算平均每隔多久送一帧: 9143.92ms / (526/2) = 34.768ms (注:这里简单让526除以2,理论上要计算counter为1的个数,这个可以参考我们第20讲介绍的SQL语句来精确查询counter为1的个数)

  • 根据每隔多久送一帧来计算帧率:1000/34.768 = 28.762fps.

2. Video Codec角度统计视频帧率

可以搜索 HIDL::IOmxNode::fillBuffer::client 的个数,如下图所示:

Video Codec角度统计视频帧率

  • 9143.92ms内发生了264次,帧率为:1000 / (9143.92 / 263) = 28.762fps.

3. Video Codec2角度统计视频帧率

可以搜索 HIDL::IComponentListener::onInputBuffersReleased::client 的个数,如下图所示:

Video Codec2角度统计视频帧率

  • 5616.245ms内发生了169次,则帧率为:1000/(5616.245/169) = 30.093fps.

赞(1)
未经允许不得转载:极客笔记 » 第24讲 录像Buffer Path帧率统计

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址