跳转到内容

配方管理#

Recipe Management 窗格允许您查看 vTool 信息,监控配方执行,并对配方进行调整以提高性能。

“属性”选项卡#

“配方管理”-“属性”选项卡

此选项卡上的区域允许您与当前在 Workbench 中选择的 vTool 进行交互,且允许您管理连线。

预览引脚数据#

此区域显示运行配方时当前在 Workbench 中选择的 vTool 的输入和输出数据的预览。要获得更大的视图,请通过 Workbench 工具栏打开引脚数据视图。这仅显示输出数据。

vTool 信息#

此区域允许您将 vTool 的标识符更改为您选择的名称。名称可以由字母数字字符 [AZ, az, 0-9] 组成。允许使用下划线“_”,但不能作为前导字符。数字也不允许作为前导字符。

vTool 设置#

此区域允许您打开 vTool 的设置对话框来配置 vTool。或者,您可以双击 vTool 以打开其设置。

连接信息#

配方管理 - 连接信息

如果在配方中选择连接,则此区域可用。在这里,您可以更改连接的名称并指定其工作方式。

对于要由配方处理的项目(如图像缓冲区)而言,连接就像是一个队列。连接的配置对配方的执行方式有很大影响。

示例:相机具有有限数量的图像缓冲区并以一定速率捕获图像。如果配方中的后续 vTool 处理图像缓冲区的时间比相机捕获图像的时间长,则缓冲区将在“慢速”vTool 处排队,直到没有更多的缓冲区可供相机使用。这将导致图像丢失。

根据您的应用,丢失的图像可能是可以接受的,或者您可能希望防止图像丢失。通过使用不同的队列模式并指定队列大小,您可以配置所需的行为。

可以使用以下队列模式:

  • 阻止:队列大小设置指定一个连接可以保留多少个队列项目。一旦后续的 vTool 准备好处理新数据,项目将从连接移动到 vTool 并进行处理。
    示例:如果您的队列大小为 2,并且队列中已经有两个项目,则系统会阻止配方中的前一个 vTool 发送更多项目。但是,您可能仍然会遇到图像丢失的情况,因为相机 Camera vTool 将继续以指定的帧速率捕获图像。但是,一般来说,如果为配方中的所有连接选择阻止,并根据配方中最慢的 vTool 指定队列大小,则可以将丢失的图像减至最少。
  • 不受限制:队列中的项目数量不受限制。请注意,如果配方中有“慢速”vTool,则缓冲区可能无法足够快地返回到相机,致使相机无法以指定的帧速率继续捕获图像。因此,由于缓冲区不足,您可能仍会遇到图像丢失的情况。选择不受限制时,请考虑您的用例、相机设置和 vTool。
  • 删除最旧:队列大小设置指定一个连接可以保留多少个队列项目。如果队列已满并且向队列中添加其他项目,则删除队列中最旧的项目,为新项目腾出足够的空间。
  • 删除最新:队列大小设置指定一个连接可以保留多少个队列项目。如果队列已满并且有其他项目到达队列,则此新项目将被丢弃。

您可以使用统计选项卡来测量 vTool 的执行时间,并识别任何可能导致处理速度变慢的 vTool。

默认设置为阻止,队列大小为 1。

“统计”选项卡#

“配方管理”-“统计”选项卡

Statistics 选项卡允许您测量 vTools 的执行时间以检查您的时序要求是否得到满足。配方必须处于运行状态才能收集统计数据。

您可以测量配方中单个 vTool 或所有 vTools 的执行时间。所有 vTools 的执行时间都记录在一个 CSV 文件中。您可以使用电子表格应用程序来分析数据。

信息

CPU 可能会根据当前负载以不同的频率运行,例如,由于 CPU 节流或动态频率缩放。因此,测得的时间可能会因系统配置和整体 CPU 负载而异。

Windows:如果要消除 CPU 节流的影响,请将电源计划设置为 Best performance

“优化”选项卡#

“配方管理”选项卡 -“优化”选项卡

Optimization 选项卡允许您优化线程处理。

配方提供了一个工作线程池。此线程池中的一个工作线程用于 vTools 的数据处理任务。在 Optimization 选项卡上,您可以指定线程数,例如,将其与实际的 CPU 数相匹配。最佳设置取决于所使用的硬件和并行工作的 vTools 的最大数量。

信息

vTool 可能会使用额外的内部线程。这取决于各个 vTool 的底层实现。