显示缓冲区分配窗口
- 更新时间2025-07-30
- 阅读时长3分钟
选择工具»性能分析»显示缓冲区分配,可显示该窗口。
该窗口用于确认LabVIEW为程序框图的各部分分配内存(缓冲区)的情况。
勾选需要查看缓存的数据类型,单击刷新按钮。程序框图上可显示黑色小方块,表明LabVIEW在程序框图上创建的数据缓存的位置。
LabVIEW为每个缓冲区分配的内存大小与LabVIEW为缓冲区分配的顶层数据大小一致。对于32位证书,顶层数据大小为4字节。对于字节而言,顶层数据大小是一个指针的大小。在32位操作系统上,为4个字节;在64位操作系统上,为8个字节。与数组大小无关。对于簇而言,顶层数组大小等于簇中所有元素顶层数据大小的总和。运行VI时,LabVIEW可能不使用分配的缓冲区存储数据。LabVIEW可在运行时确定是否创建数据副本,当VI依赖动态数据时,无法预知LabVIEW是否使用数据缓存。
如VI需要分配缓冲区,LabVIEW可在缓冲区中创建数据副本。如LabVIEW无法确定缓冲区需要数据副本,LabVIEW仍可在缓冲区中创建数据副本。
确认LabVIEW缓存的位置后,可通过编辑VI减少运行VI所需的内存,优化VI运行速度。
该窗口包括以下部分:
| 选项 | 说明信息 |
|---|---|
| 数组 | 显示程序框图上数组的缓冲区。如需减少运行VI时LabVIEW对内存资源的需求,应尽量避免在前面板上显示较大的数组。前面板上的显示控件可为显示数据保存数据副本。另外,使用数组时应避免使用过多的全局变量和局部变量。读取全局或局部变量时,LabVIEW都会生成数据副本。 |
| 簇 | 显示程序框图上数组的缓冲区。如需减少运行VI时LabVIEW对内存资源的需求,应尽可能避免使用层次化数据结构(例如,包含大型数组或字符串的簇或簇数组)。LabVIEW无法快速处理此类结构,可导致VI占用更多内存。 |
| 字符串 | 显示程序框图上字符串的缓冲区。如需减少运行VI时LabVIEW对内存资源的需求,应尽可能避免在前面板上显示较大的字符串。前面板上的显示控件可为显示数据保存数据副本。此外,在使用较大的字符串时,应避免使用过多的全局变量和局部变量。读取全局或局部变量时,LabVIEW都会生成数据副本。 |
| 路径 | 显示程序框图上路径的缓冲区。 |
| 标量 | 显示程序框图上标量的缓冲区。 |
| 变体 | 显示程序框图上变体值的缓冲区。 |
| 所有其他类型 | 显示以上未列出的所有数据类型的缓冲区。 |
| 动态分配项的临时缓冲 | 配置动态分配子VI以显示临时缓冲区分配。如原有祖先类的实现VI未修改输入数据,但运行时调用的子类的实现VI修改了输入值,可导致动态分配项的临时缓冲。临时缓冲区分配并不表明发生复制,只表明可能发生复制。 |
| 刷新 | 在程序框图上显示黑色方块,表明用户选定数据类型的缓冲区。如一个必须用LabVIEW对其进行重新编译的VI被更改,则黑色方块将由于缓冲区信息错误而消失。单击刷新重新编译VI,可显示黑色方块。 |