13.1.7. 窗格视图#

帧缓冲区查看器下方的窗格显示的不只是直方图。其标题栏左侧的选择器可在五个视图之间切换,每个视图都是指向所连接摄像头的一种不同仪器:

  • 直方图——当前帧的像素统计数据,在 单独的页面 中介绍。

  • 开发板信息——所连接的摄像头是什么。

  • 内存——脚本正在使用多少 RAM,实时显示。

  • 通道——脚本发布的值和控件,在 单独的页面 中介绍。

  • 统计——IDE 与摄像头之间的链路正在做什么。

该选择会在会话之间记住。只有正在显示的视图才会工作:切换离开直方图后,它的计算会停止,直到你切换回来,因此把窗格留在内存或通道视图上不会给预览带来任何开销。每个视图在无法显示内容时都会自行说明——没有连接摄像头,或者摄像头的固件不报告这些数据——而开发板信息、内存和统计视图需要运行 v2 调试协议的摄像头(固件 5.0.0 或更新版本)。

13.1.7.1. 开发板信息#

开发板信息是摄像头的身份证:开发板类型和所连接的传感器、串口、固件、协议和引导加载程序版本、CPU 和设备 id、USB 供应商和产品 id、流缓冲区、帧缓冲区、闪存和 RAM 的大小,以及一行“是 / 否”能力——GPU、NPU、ISP、视频编码器、JPEG 编解码器、DRAM、CRC、性能计数器、性能分析器支持、Wi-Fi、蓝牙、SD 卡、以太网、高速 USB 和多核。当支持问题以“这到底是哪块开发板”开头时,这是首先要看的地方,而且文本可以选中,因此你可以把全部内容复制到错误报告中。

The Board Info view listing an OpenMV N6 with a Lepton sensor: board, sensor, port, firmware, protocol and bootloader versions, CPU and device ids, USB id, buffer sizes, and the yes / no capability rows

带热成像传感器的 OpenMV N6 的开发板信息。#

13.1.7.2. 内存#

内存视图在脚本运行时绘制摄像头的内存使用情况:MicroPython 垃圾回收堆一个图形,固件的每个内存池各一个图形,每个图形下方都有其已用 / 总量、空闲和峰值数字,并有一条线标记自连接以来观察到的最高使用量。图形随时间滚动,因此堆正常的锯齿形——分配量不断攀升直到垃圾回收器运行——一目了然,缓慢的泄漏会呈现为阶梯状,而每次循环中一帧大小的分配则表现为一个尖峰。内存池还会报告 持久,即帧缓冲区等长期分配所占用的内存,以区别于脚本反复周转的内存。

The Memory view with the GC heap graph showing a sawtooth of allocations and collections, and a memory pool graph below, each with used / total, free, persist, and peak figures

内存视图:堆的锯齿形和一个内存池,以及它们的数字。#

13.1.7.3. 统计#

统计视图是调试协议本身的仪表盘。设备 和 主机 区段统计各方发送和接收的数据包、校验和与序列错误、重传以及传输错误,二者之间的 通道 表列出摄像头已注册的每个通道及其事件计数和事件速率。它是针对连接异常的诊断视图:停滞的流、长线缆上丢帧的摄像头,或是发布速度快到链路跟不上的脚本——计数器会显示哪一方在丢失以及丢失得有多严重。

The Statistics view with the device counters, the per-channel event table, and the host counters stacked in the pane

统计视图:各方的协议计数器和每通道事件速率。#