位置:51电子网 » 技术资料 » 初学园地

影响程序运行速度主要有3方面的因素。

发布时间:2014/6/23 20:36:41 访问次数:4283

   1.输入/输出

   输入/输出包括文件读/写、数据采集、SLG74803KT仪器控制和网络通信等,这些操作一般比数据计算费时。这类操作消耗时间的原因是它们需要涉及茌操作系统的几层之间传递信息。

   改进的措施是每次执行输入/输出时尽可能多传递一些数据,减少I/O的次数。

   例如,在创建一个数据采集VI时,有两种数据读取方式可供选择。一种方式为使用单点采集函数,如AI Sample Channel VI;另一种方式为使用多点数据传递函数,如AIAcquire Waveform VI。如果必须采集到100个点,可用AI Sample Channel VI和“等待”函

数构建一个计时循环,也可用AI Acquire'Waveform VI,通过参数设置使之采集100个点。

   AI Acquire Waveform VI通过硬件计时器来管理数据采集,从而使数据采集更为快速精确。此外,AI Acquire Waveform VI的系统开销与调用一次AI Sample Channel VI的系统开销大体相等,但前者所传递的数据却多得多。

   2.屏幕显示

   频繁刷新前面板控件是最占用系统时间的操作之一,特别是对于图表和图形这样复杂的显示控件。所幸的是除了图表和图形,一般控件都有一定的智能,除非新的数据与原来的数据不同,否则它们不会进行刷新。如果这部分时间影响了程序的性能,那么只好想办法减少控件的数量,并使显示尽可能简单;对于图表和图形来说,可关闭其自动调整标尺、平滑更新等功能以加速屏幕显示。重叠控件的显示明显变慢,应尽量避免使用。

   使用有些控件显示I]O的数据时,应尽量一次显示更多的数据。例如,对于图表显示控件来说把数据做成一个数组,比一个个数据显示速度快。

   对于子VI,如果它的面板运行时不显示,就不必考虑它前面板显示的时间。

   控件弹出菜单的“高级一同步显示”命令,默认是关闭的。这种情况下,在多线程执行系统中,当执行系统传递一个数据到前面板控件以后,它立即去继续执行自己的任务:此后用户界面系统注意到控件需要更新,它就来执行重绘控件的任务。这样加快了程序执行的速度,所以一般不要选中同步执行选项。

  3.其他问题

   如果在循环结构的每个循环中都产生同样的数据,把这样的代码移到循环框外

   结构中不使用的数据连线不要通过结构,以免增加不必要的额外线程。


   1.输入/输出

   输入/输出包括文件读/写、数据采集、SLG74803KT仪器控制和网络通信等,这些操作一般比数据计算费时。这类操作消耗时间的原因是它们需要涉及茌操作系统的几层之间传递信息。

   改进的措施是每次执行输入/输出时尽可能多传递一些数据,减少I/O的次数。

   例如,在创建一个数据采集VI时,有两种数据读取方式可供选择。一种方式为使用单点采集函数,如AI Sample Channel VI;另一种方式为使用多点数据传递函数,如AIAcquire Waveform VI。如果必须采集到100个点,可用AI Sample Channel VI和“等待”函

数构建一个计时循环,也可用AI Acquire'Waveform VI,通过参数设置使之采集100个点。

   AI Acquire Waveform VI通过硬件计时器来管理数据采集,从而使数据采集更为快速精确。此外,AI Acquire Waveform VI的系统开销与调用一次AI Sample Channel VI的系统开销大体相等,但前者所传递的数据却多得多。

   2.屏幕显示

   频繁刷新前面板控件是最占用系统时间的操作之一,特别是对于图表和图形这样复杂的显示控件。所幸的是除了图表和图形,一般控件都有一定的智能,除非新的数据与原来的数据不同,否则它们不会进行刷新。如果这部分时间影响了程序的性能,那么只好想办法减少控件的数量,并使显示尽可能简单;对于图表和图形来说,可关闭其自动调整标尺、平滑更新等功能以加速屏幕显示。重叠控件的显示明显变慢,应尽量避免使用。

   使用有些控件显示I]O的数据时,应尽量一次显示更多的数据。例如,对于图表显示控件来说把数据做成一个数组,比一个个数据显示速度快。

   对于子VI,如果它的面板运行时不显示,就不必考虑它前面板显示的时间。

   控件弹出菜单的“高级一同步显示”命令,默认是关闭的。这种情况下,在多线程执行系统中,当执行系统传递一个数据到前面板控件以后,它立即去继续执行自己的任务:此后用户界面系统注意到控件需要更新,它就来执行重绘控件的任务。这样加快了程序执行的速度,所以一般不要选中同步执行选项。

  3.其他问题

   如果在循环结构的每个循环中都产生同样的数据,把这样的代码移到循环框外

   结构中不使用的数据连线不要通过结构,以免增加不必要的额外线程。


相关IC型号
SLG74803KT
暂无最新型号

热门点击

 

推荐技术资料

FU-19推挽功放制作
    FU-19是国产大功率发射双四极功率电二管,EPL20... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!