第25讲 cameraserver latencyhistogram简介 -凯发k8手机登录

本讲是android camera性能分析专题的第25讲,我们介绍cameraserver latencyhistogram简介,包括如下内容:

  1. latencyhistogram是什么
  2. cameraserver默认有哪些latency的histogram
  3. 如何获取cameralatencyhistogram数据
  4. cameralatencyhistogram类详解
资源 描述
在线课程
知识星球 星球名称:深入浅出android camera
星球id: 17296815
wechat 极客笔记圈

1.latencyhistogram是什么

latencyhistogram是一个工具类,对指定的样本集(samples)做直方图统计,该类适用于对camera latency数据做直方图统计。

下图是常见直方图示例:

直方图示例

camera在log中打印的 latency直方图示例如下:

camera在log中打印的 latency直方图

代码路径:/frameworks/av/services/camera/libcameraservice/utils/latencyhistogram.cpp

2.cameraserver默认有哪些latency的histogram

latency histogram description
buffer limit latency 每路stream dequeue的buffer总量达到max_buffers后,等待新buffer返回耗时直方图统计
dequeue buffer latency 每路stream dequeuebuffer耗时直方图统计
request latency 将capturerequest送给hal的耗时(hal的执行时间)直方图统计

3. 如何获取cameralatencyhistogram数据

我们可以通过log或dump两种方式获取camera latency histogram。

log 方式

latency histogram log打印的时机
buffer limit latency 该stream被delete时,发生在camera3device::deletestream
dequeue buffer latency camera3outputstream对象销毁时,也就是该output stream被delete后
request latency 关闭当前camera时

dump方式

  • 参考视频讲解

4. cameralatencyhistogram类详解

cameralatencyhistogram类介绍:

函数 描述
cameralatencyhistogram(int32_t binsizems, int32_t bincount=10) 构造方法,可以设置直方图统计的间距(binsizems),统计区间个数(bincount)
void add(nsecs_t start, nsecs_t end) 添加一个sample
void reset() 重置统计
void dump(int fd, const char* name) const 将当前的samples统计信息存放在指定的fd中
void log(const char* format, …) 将当前是samples统计信息打印在log中

camera课程

python教程

java教程

web教程

数据库教程

图形图像教程

办公软件教程

linux教程

计算机教程

大数据教程

开发工具教程

android camera性能分析

网站地图