• Android Camera性能分析 - 第25讲 CameraServer LatencyHistogram简介


    本讲是Android Camera性能分析专题的第25讲 ​,我们介绍CameraServer LatencyHistogram简介,包括如下内容:

    1. LatencyHistogram是什么
    2. CameraServer默认有哪些Latency的Histogram
    3. 如何获取CameraLatencyHistogram数据
    4. CameraLatencyHistogram类详解

    视频在线观看:

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

    1.LatencyHistogram是什么

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

    下图是常见直方图示例:

    Camera在Log中打印的 Latency直方图示例如下:

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

    2.CameraServer默认有哪些Latency的Histogram

    Latency HistogramDescription
    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 HistogramLog打印的时机
    Buffer Limit Latency该Stream被delete时,发生在Camera3Device::deleteStream
    Dequeue Buffer LatencyCamera3OutputStream对象销毁时,也就是该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中
  • 相关阅读:
    本地Chatglm2-6b模型训练,deepspeed依赖安装报错。
    react-router v6
    go底层TCP网络编程剖析
    【解刊】Elsevier旗下CCF-B类,3区SCI,见刊快,值得投吗?
    【LeetCode-389】找不同
    VScode环境下使用CMake构建工程
    CAP:多重注意力机制,有趣的细粒度分类方案 | AAAI 2021
    Selenium基础:自动化你的网页交互
    2023年高教杯数学建模2023B题解析(仅从代码角度出发)
    Hadoop+hive+flask+echarts大数据可视化项目之hive环境搭建与系统数据的分析思路
  • 原文地址:https://blog.csdn.net/qq_42194101/article/details/128163107