LabVIEW每次编译VI时,编译器都会对程序框图进行优化,以提高VI的最终执行速度。编译器必需对现有代码进行分析,判断需要优化的代码部分。分析的过程需占用的内存和时间与VI的代码复杂度成正比。因此,VI中的代码越多,编译器优化要用的内存和时间也就越多。

因为编译复杂VI需占用大量内存,编译器可能会发生内存不足或明显的延迟。为了避免这类问题,编译器会比较VI的复杂度和编译器优化阈值。当VI的复杂度超过阈值时,编译器将限制需大量内存的优化操作。限制优化从内部机制上避免VI达到它最高的执行速度。因此,对于复杂的VI,编译器需权衡响应速度和VI执行速度。

将VI分割为若干子VI可完全避免上述问题。子VI不仅有较高的响应速度、执行速度,代码也更易于维护和阅读。在无法进一步分割为子VI的情况下,LabVIEW调整阈值后可解决下列问题:

  • 编译VI或生成应用程序时LabVIEW内存不足。
  • 编译VI或生成应用程序时LabVIEW内存不足。
  • 编辑VI后,要编译VI或生成应用程序实现最高的执行速度。