Jetson Linux API 参考

32.7.4 版本
Ext::InternalFrameCount

详细描述

为内部帧计数性能指标添加访问器。

“内部帧计数”是一个依赖于实现的指标,可以用于检测性能问题和生产者帧丢失,适用于使用内部捕获的 libargus 实现。

当设备被 CaptureSession 打开时,libargus 实现可能会立即开始从设备捕获和处理帧,以便在客户端请求提交之前初始化相机子系统。 类似地,当客户端空闲或未准备好输出时,实现可能会捕获和处理帧,以维护驱动程序子系统和/或自动控制状态(曝光、白平衡等)。 这些捕获完全在 libargus 实现内部启动和处理,没有来自客户端应用程序的输入或输出,因此被称为“内部”捕获。 这些内部捕获通常在捕获队列中没有客户端请求或在传感器帧周期内没有可用于输出的流缓冲区时提交,因此,知道何时提交了内部捕获可以用于检测在不应发生这些情况时的应用程序或性能问题。 此扩展以“内部帧计数”的形式提供此信息,它是会话提交的捕获总数,包括内部捕获以及客户端提交的请求。 如果在两个客户端提交的捕获之间出现内部帧计数差距,则表示已执行一个或多个内部捕获。

当应用程序为了保持驱动程序效率而饱和捕获队列时(无论是手动还是使用重复捕获请求),内部帧计数可用于检测何时由于缺少可用的输出流缓冲区而提交了内部捕获。 这种情况会导致传感器帧未输出到客户端的输出流,这通常是不希望出现的行为,称为“生产者帧丢失”。 这通常是由于消费者处理时间过长导致的,这会耗尽流的可用缓冲区池,并且通常可以通过减少消费者处理时间来解决(减少获取缓冲区的时间、降低系统负载、增加硬件时钟等)。

数据结构

类  Argus::Ext::IInternalFrameCount
 

文件

文件  InternalFrameCount.h
 
. All rights reserved.